Concurrent Euclid Programming Language
   HOME

TheInfoList



OR:

Concurrent Euclid (ConEuc) is a concurrent descendant of the
Euclid programming language {{Infobox programming language , name = Euclid , logo = , paradigm = multi-paradigm: structured, imperative, functional , year = 1970s , designer = Butler Lampson, Xerox PARC , developer = Ric Holt and James Cordy , latest_release_version ...
designed by James Cordy and
Ric Holt Richard Craig Holt (February 13, 1941 – April 12, 2019) was an American-Canadians, Canadian computer scientists, computer scientist. Early life Holt was born on in 1941 in Bartlesville, Oklahoma, to Vashti Young and C.P. Holt, but later move ...
, then at the
University of Toronto The University of Toronto (UToronto or U of T) is a public university, public research university in Toronto, Ontario, Canada, located on the grounds that surround Queen's Park (Toronto), Queen's Park. It was founded by royal charter in 1827 ...
, in 1980. ConEuc was designed for concurrent, high performance, highly reliable
system software System software is software designed to provide a platform for other software. Examples of system software include operating systems (OS) like macOS, Linux, Android and Microsoft Windows, computational science software, game engines, search engin ...
, such as operating systems,
compilers In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
and
embedded microprocessor A microprocessor is a computer processor where the data processing logic and control is included on a single integrated circuit, or a small number of integrated circuits. The microprocessor contains the arithmetic, logic, and control circ ...
systems. The
TUNIS ''Tounsi'' french: Tunisois , population_note = , population_urban = , population_metro = 2658816 , population_density_km2 = , timezone1 = CET , utc_offset1 ...
operating system, a
Unix Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, an ...
variant, was implemented entirely in Concurrent Euclid. ConEuc extends a core subset of Euclid with processes and
monitors Monitor or monitor may refer to: Places * Monitor, Alberta * Monitor, Indiana, town in the United States * Monitor, Kentucky * Monitor, Oregon, unincorporated community in the United States * Monitor, Washington * Monitor, Logan County, West Vir ...
(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 The VAX-11 is a discontinued family of 32-bit superminicomputers, running the Virtual Address eXtension (VAX) instruction set architecture (ISA), developed and manufactured by Digital Equipment Corporation (DEC). Development began in 1976. In a ...
, Motorola 68000 and
Motorola 6809 The Motorola 6809 ("''sixty-eight-oh-nine''") is an 8-bit computing, 8-bit microprocessor with some 16-bit computing, 16-bit features. It was designed by Motorola's Terry Ritter and Joel Boney and introduced in 1978. Although source compatible wi ...
were developed that produced code comparable to the best C compilers. Concurrent Euclid programs that used concurrency could be run on a
bare machine In computer science, bare machine (or bare metal) refers to a computer executing instructions directly on logic hardware without an intervening operating system. Modern operating systems evolved through various stages, from elementary to the pre ...
(supported by a small assembly language kernel), or in simulated mode as an ordinary process running under an operating system. The
Turing programming language Turing is a high-level, general-purpose programming language developed in 1982 by Ric Holt and James Cordy, at University of Toronto in Ontario, Canada. It was designed in order to help students taking their first computer science course learn ...
is a direct descendant of Concurrent Euclid and its
Turing Plus Turing is a high-level, general-purpose programming language developed in 1982 by Ric Holt and James Cordy, at University of Toronto in Ontario, Canada. It was designed in order to help students taking their first computer science course learn ...
variant eventually replaced ConEuc in most applications.


References

*J.R. Cordy and R.C. Holt 1980. Specification of Concurrent Euclid. Technical reports CSRI-115 (July 1980) and CSRI-133 (August 1981), Computer Systems Research Institute, University of Toronto. 54 pages. *R.C. Holt 1982. Concurrent Euclid, the Unix System and Tunis. Addison-Wesley 1982. 323 pages.
R.C. Holt 1982. A short introduction to Concurrent Euclid.
ACM SIGPLAN Notices 17, 5 (May. 1982), 60-79.
R.C. Holt 1982. Tunis: a Unix look-alike written in Concurrent Euclid.
SIGOPS Operating Systems Review 16, 1 (January 1982), 4-5. {{Authority control Concurrent programming languages