Concurrent Euclid
A concurrent extension of a subset of Euclid ("Simple Euclid") developed by J.R. Cordy and R.C. Holt of the University of Toronto in 1980.
Concurrent Euclid features separate compilation, modules, processes and monitors, signal and wait on condition variables, 'converters' to defeat strong type checking, absolute addresses. All procedures and functions are re-entrant. TUNIS (a Unix-like operating system) is written in Concurrent Euclid.
["Specification of Concurrent Euclid", J.R. Cordy & R.C. Holt, Reports CSRI-115 & CSRI-133, CSRI, U Toronto, Jul 1980, rev. Aug 1981].
["Concurrent Euclid, The Unix System, and Tunis," R.C. Holt, A-W, 1983].