[net.lang] "euclid compiler"

perelgut@utai.UUCP (Stephen Perelgut) (02/13/86)

Here is a brief history of the Euclid and Concurrent Euclid programming 
languages, taken from Chapter 3 of "Concurrent Euclid, the Unix Operating
System, and Tunis", R.C. Holt, Addison-Wesley, 1983, ISBN 0-201-10694-9.

    Euclid was design in 1976 as a language for developing verifiable
    systems software, i.e., system software that can be proven correct.
    In a two year effort beginning in 1977 a subset called Toronto Euclid
    was implemented jointly by the University of Toronto and I.P. Sharpe
    Associates with the support of the USA Department of Defence and the
    Canadian Department of National Defence.  Toronto Euclid was used
    experimentally at the University of Toronto for implementing compilers
    and for developing the Tunis operating system, which is compatible
    with Unix.  This research led to the design and implementation of the
    language Concurrent Euclid in 1980-81.  Concurrent Euclid omits the
    complex features of Euclid and adds features not in Toronto Euclid
    that were found to be necessary for systems programming.  The most 
    notable exceptions were concurrency and separate compilation.

To answer the question posed on the network, Concurrent Euclid is a "real"
language.  It is being used in 100's of sites to implement compilers,
operating systems, networks, etc.  If you want information on how to order
Concurrent Euclid (currently released as Version 1.9), send me e-mail (which
I'll forward), or write to:
	CSRI Distribution Manager
	University of Toronto
	Sanford Fleming Bldg., Rm 2002
	10 King's College Road
	Toronto, Canada  M5S 1A4
Costs are significantly cheaper for educational institutions, and CSRI is
always willing to consider negotiating special fees for documented "hardship"
cases.
-- 
Stephen Perelgut    Computer Systems Research Institute, University of Toronto