Concurrent Euclid


title: "Concurrent Euclid" type: doc version: 1 created: 2026-02-28 author: "Wikipedia contributors" status: active scope: public tags: ["concurrent-programming-languages"] topic_path: "technology/programming-languages" source: "https://en.wikipedia.org/wiki/Concurrent_Euclid" license: "CC BY-SA 4.0" wikipedia_page_id: 0 wikipedia_revision_id: 0

::data[format=table title="Infobox programming language"]

FieldValue
nameConcurrent Euclid (ConEuc)
paradigmmulti-paradigm: structured, imperative, functional
year1980
designerJames Cordy and Ric Holt
developerJames Cordy and Ric Holt
latest_release_version
typingstrong, static
influenced_byEuclid, Communicating Sequential Processes
influencedTuring Plus
operating_systemCross-platform: PDP-11, VAX-11, Motorola 68000, Motorola 6809
::

| name = Concurrent Euclid (ConEuc) | logo = | paradigm = multi-paradigm: structured, imperative, functional | year = 1980 | designer = James Cordy and Ric Holt | developer = James Cordy and Ric Holt | latest_release_version = | latest release date = | typing = strong, static | implementations = | dialects = | influenced_by = Euclid, Communicating Sequential Processes | influenced = Turing Plus | operating_system = Cross-platform: PDP-11, VAX-11, Motorola 68000, Motorola 6809 | license = | website = | file_ext =

Concurrent Euclid (ConEuc) is a concurrent descendant of the Euclid programming language designed by James Cordy and Ric Holt, then at the University of Toronto, in 1980. ConEuc was designed for concurrent, high performance, highly reliable system software, such as operating systems, compilers and embedded microprocessor systems. The TUNIS operating system, a Unix variant, was implemented entirely in Concurrent Euclid. ConEuc extends a core subset of Euclid with processes and monitors (as specified by C.A.R. Hoare) as well as language constructs needed for systems programming including separate compilation, variables at absolute addresses, type converters, long integers and other features.

ConEuc was implemented by a small (50k bytes), fast, portable compiler that was self-compiling and had replaceable code generators. High quality code generators for several computers, including the PDP-11, VAX-11, Motorola 68000 and Motorola 6809 were developed that produced code comparable to the best C compilers. Concurrent Euclid programs that used concurrency could be run on a bare machine (supported by a small assembly language kernel), or in simulated mode as an ordinary process running under an operating system.

The Turing programming language is a direct descendant of Concurrent Euclid and its Turing Plus variant eventually replaced ConEuc in most applications.

References

::callout[type=info title="Wikipedia Source"] This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page. ::

concurrent-programming-languages