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