Euclid (programming language)

Euclid (programming language)

Euclid is an imperative programming language for writing verifiable programs. It was designed by Butler Lampson and associates at the Xerox PARC lab in the mid 1970s. The implementation was led by Ric Holt at the University of Toronto and James Cordy was the principal programmer for the first implementation of the compiler. It was originally designed for the Motorola 6809 microprocessor. It was considered innovative for the time; the compiler development team had a 2 million dollar budget over 2 years and was commissioned by the Defense Advanced Research Projects Agency of the U.S. Department of Defense and the Canadian Department of National Defence. It was used for a few years at I. P. Sharp Associates, MITRE Corporation, SRI International and various other international institutes for research in systems programming and secure software systems.

Euclid is descended from the Pascal programming language. Functions in Euclid are closed scopes, may not have side effects, and must explicitly declare imports. Euclid also disallows gotos, floating point numbers, global assignments, nested functions and aliases, and none of the actual parameters to a function can refer to the same thing. Euclid implements modules as types. Descendants of Euclid include the Mesa programming language, the Concurrent Euclid programming language and the Turing programming language.

External links

* [http://portal.acm.org/citation.cfm?id=954666.971189 B.W. Lampson, J.J. Horning, R.L. London, J.G. Mitchell and G.J. Popek 1977. Report on the programming language Euclid. SIGPLAN Notices 12, 2 (February 1977), 1-79.]
* [http://portal.acm.org/citation.cfm?id=804077 R.C. Holt, D.B. Wortman, J.R. Cordy and D.R. Crowe 1978. The Euclid Language: a progress report. In Proceedings of the 1978 Annual Conference (Washington, D.C., United States, December 04 - 06, 1978), 111-115.]
* [http://portal.acm.org/citation.cfm?id=802513 D.B. Wortman and J.R. Cordy 1981. Early experiences with Euclid. In Proc. 5th international Conference on Software Engineering (San Diego, California, United States, March 09 - 12, 1981), 27-32.]


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • Concurrent Euclid (programming language) — 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… …   Wikipedia

  • Turing (programming language) — Turing is a Pascal like programming language developed in 1982 by Ric Holt and James Cordy, then of University of Toronto, Canada. Turing is a descendant of Euclid, Pascal and SP/k that features a clean syntax and precise machine independent… …   Wikipedia

  • Turing Plus (programming language) — Turing+ (Turing Plus) is a concurrent systems programming language based the Turing programming language designed by James Cordy and Ric Holt, then at the University of Toronto, in 1987. Some, but not all, of the features of Turing Plus were… …   Wikipedia

  • Euclid (disambiguation) — Euclid may refer to: * Euclid of Alexandria, the ancient Greek mathematician and author of the Elements ** the euclid (symbol Euc), a dimensionless unit of proportion, named after the mathematician * Euclid of Megara, an ancient Greek philosopher …   Wikipedia

  • S/SL programming language — The Syntax/Semantic Language (S/SL) is an executable high level specification language for recursive descent parsers developed by James Cordy and Ric Holt at the University of Toronto in 1980.S/SL is a small programming language that supports… …   Wikipedia

  • Concurrent Euclid — (ConEuc) Paradigm(s) multi paradigm: structured, imperative, functional Appeared in 1980 Designed by James Cordy and Ric Holt Developer James Cordy and …   Wikipedia

  • List of programming languages — Programming language lists Alphabetical Categorical Chronological Generational The aim of this list of programming languages is to include all notable programming languages in existence, both those in current use and historical ones, in… …   Wikipedia

  • Generational list of programming languages — Here, a genealogy of programming languages is shown. Languages are categorized under the ancestor language with the strongest influence. Of course, any such categorization has a large arbitrary element, since programming languages often… …   Wikipedia

  • Ric Holt — Richard C. Ric Holt is a computer science professor.Ric Holt was one of the original developers of the Turing programming language, [http://swag.uwaterloo.ca/ nsynytskyy/grokdoc/ Grok programming language] , Euclid programming language, SP/k, and …   Wikipedia

  • Algorithm — Flow chart of an algorithm (Euclid s algorithm) for calculating the greatest common divisor (g.c.d.) of two numbers a and b in locations named A and B. The algorithm proceeds by successive subtractions in two loops: IF the test B ≤ A yields yes… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”