Content deleted Content added
m spelling |
Expand list of designers and influences, fix order of influence with mesa (it was backwards -- mesa influenced euclid, not vice-versa) |
||
(23 intermediate revisions by 21 users not shown) | |||
Line 1:
{{Infobox programming language
'''Euclid''' is a programming language developed at the University of Toronto by [[Ric Holt]] et al. It was originally designed for the Motorola [[6809]] microprocessor. [[James Cordy]] was the principal programmer for the first implementation of the compiler at the [[University of Toronto]]. 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 [[United States Department of Defense|U.S. Department of Defense]] and the [[Department of National Defence (Canada)|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.▼
| name = Euclid
| logo =
| paradigm = [[Multi-paradigm programming language|multi-paradigm]]: [[structured programming|structured]], [[Imperative programming|imperative]], [[Functional programming|functional]]
| year = 1970s
| designer = [[Butler Lampson]], [[James G. Mitchell]], [[Jim Horning]], Ralph L. London, [[Gerald J. Popek]]
| developer = [[Ric Holt]] and [[James Cordy]]
| latest_release_version = <!--X.Y.Z/{{release date|mf=yes|YYYY|MM|DD}}-->
| latest release date =
| typing = [[strong typing|strong]], [[static typing|static]]
| implementations =
| dialects =
| influenced_by = [[Pascal (programming language)|Pascal]], [[Mesa (programming language)|Mesa]], [[Alphard (programming language)|Alphard]], [[CLU (programming language)|CLU]], Gypsy, [[BCPL]], [[Modula]], [[LIS (programming language)|LIS]], SUE
| influenced = [[Concurrent Euclid (programming language)|Concurrent Euclid]], [[Turing (programming language)|Turing]]
| operating_system =
| license =
| website =
| file_ext =
}}
▲'''Euclid''' is
[[Category:Programming languages]]▼
Euclid is descended from [[Pascal programming language|Pascal]], [[Mesa (programming language)|Mesa]], [[Alphard (programming language)|Alphard]], [[CLU (programming language)|CLU]], Gypsy, [[BCPL]], [[Modula]], [[LIS (programming language)|LIS]], and SUE. Functions in Euclid are closed scopes, may not have side effects, and must explicitly declare imports. Euclid also disallows [[GOTO|goto]]s, floating point numbers, global assignments, [[nested function]]s and aliases, and none of the actual parameters to a function can refer to the same memory cell (which Euclid calls a "variable"). Euclid implements modules as types. Descendants of Euclid include 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.]
[[Category:Procedural programming languages]]
▲[[Category:Programming languages created in the 1970s]]
[[Category:Statically typed programming languages]]
[[Category:Systems programming languages]]
|