euclid (programming language) - wikipedia, the free encyclopedia
TRANSCRIPT
-
7/29/2019 Euclid (Programming Language) - Wikipedia, The Free Encyclopedia
1/1
Euclid
Paradigm(s) multi-paradigm: structured,
imperative, functional
Appeared in 1970s
Designed by Butler Lampson, Xerox PARC
Developer Ric Holt and James Cordy
Typing
discipline
strong, static
Influenced
by
Pascal
Influenced Mesa, Concurrent Euclid, Turing
uclid (programming language)m Wikipedia, the free encyclopedia
clid is an imperative programming language for writing verifiable
grams. It was designed by Butler Lampson and associates at the
rox PARC lab in the mid-1970s. The implementation was led by
Holt at the University of Toronto and James Cordy was the
ncipal programmer for the first implementation of the compiler. It
s originally designed forthe Motorola 6809 microprocessor. Its considered innovative for the time; the compiler development
m had a $2 million budget over 2 years and was commissioned by
Defense Advanced Research Projects Agency of the U.S.
partment of Defense and the Canadian Department of National
fence. It was used for a few years at I. P. Sharp Associates,
TRE Corporation, SRI International and various other international
itutes for research in systems programming and secure software
tems.
clid is descended from the Pascal programming language.nctions in Euclid are closed scopes, may not have side effects, and must explicitly declare imports. Euclid also disallows
os, floating point numbers, global assignments, nested functions and aliases, and none of the actual parameters to a
ction can refer to the same thing. Euclid implements modules as types. Descendants of Euclid include the Mesa
gramming language, the Concurrent Euclid programming language and the Turing programming language.
xternal links
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=954666.971189)
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=804077)
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.
(http://portal.acm.org/citation.cfm?id=802513)
rieved from "http://en.wikipedia.org/w/index.php?title=Euclid_(programming_language)&oldid=550080609"
tegories: Procedural programming languages Programming languages created in the 1970s
This page was last modified on 12 April 2013 at 23:57.
Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using
this site, you agree to the Terms of Use and Privacy Policy.
Wikipedia is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.
http://en.wikipedia.org/wiki/Category:Programming_languages_created_in_the_1970shttp://en.wikipedia.org/w/index.php?title=Euclid_(programming_language)&oldid=550080609http://portal.acm.org/citation.cfm?id=802513http://portal.acm.org/citation.cfm?id=802513http://portal.acm.org/citation.cfm?id=802513http://portal.acm.org/citation.cfm?id=804077http://portal.acm.org/citation.cfm?id=804077http://www.wikimediafoundation.org/http://en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_Licensehttp://en.wikipedia.org/wiki/Help:Categoryhttp://en.wikipedia.org/wiki/Category:Procedural_programming_languageshttp://en.wikipedia.org/wiki/Category:Programming_languages_created_in_the_1970shttp://en.wikipedia.org/w/index.php?title=Euclid_(programming_language)&oldid=550080609http://portal.acm.org/citation.cfm?id=802513http://portal.acm.org/citation.cfm?id=802513http://portal.acm.org/citation.cfm?id=804077http://portal.acm.org/citation.cfm?id=804077http://portal.acm.org/citation.cfm?id=954666.971189http://portal.acm.org/citation.cfm?id=954666.971189http://portal.acm.org/citation.cfm?id=954666.971189http://en.wikipedia.org/wiki/Mesa_programming_languagehttp://en.wikipedia.org/wiki/Concurrent_Euclid_programming_languagehttp://en.wikipedia.org/wiki/Pascal_programming_languagehttp://en.wikipedia.org/wiki/MITREhttp://en.wikipedia.org/wiki/SRI_Internationalhttp://en.wikipedia.org/wiki/Pascal_(programming_language)http://en.wikipedia.org/wiki/Department_of_National_Defence_(Canada)http://en.wikipedia.org/wiki/United_States_Department_of_Defensehttp://en.wikipedia.org/wiki/Type_systemhttp://en.wikipedia.org/wiki/Strong_typinghttp://en.wikipedia.org/wiki/Static_typinghttp://en.wikipedia.org/wiki/Software_developerhttp://en.wikipedia.org/wiki/Ric_Holthttp://en.wikipedia.org/wiki/James_Cordyhttp://en.wikipedia.org/wiki/Motorola_6809http://en.wikipedia.org/wiki/Ric_Holthttp://en.wikipedia.org/wiki/University_of_Torontohttp://en.wikipedia.org/wiki/James_Cordyhttp://en.wikipedia.org/wiki/Imperative_programminghttp://en.wikipedia.org/wiki/Functional_programminghttp://en.wikipedia.org/wiki/Xerox_PARChttp://en.wikipedia.org/wiki/Programming_paradigmhttp://en.wikipedia.org/wiki/Multi-paradigm_programming_languagehttp://en.wikipedia.org/wiki/Structured_programminghttp://www.wikimediafoundation.org/http://wikimediafoundation.org/wiki/Privacy_policyhttp://wikimediafoundation.org/wiki/Terms_of_Usehttp://en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_Licensehttp://en.wikipedia.org/wiki/Help:Categoryhttp://en.wikipedia.org/w/index.php?title=Euclid_(programming_language)&oldid=550080609http://portal.acm.org/citation.cfm?id=802513http://portal.acm.org/citation.cfm?id=804077http://portal.acm.org/citation.cfm?id=954666.971189http://en.wikipedia.org/wiki/Turing_programming_languagehttp://en.wikipedia.org/wiki/Concurrent_Euclid_programming_languagehttp://en.wikipedia.org/wiki/Mesa_programming_languagehttp://en.wikipedia.org/wiki/Nested_functionhttp://en.wikipedia.org/wiki/GOTOhttp://en.wikipedia.org/wiki/Pascal_programming_languagehttp://en.wikipedia.org/wiki/SRI_Internationalhttp://en.wikipedia.org/wiki/MITREhttp://en.wikipedia.org/wiki/I._P._Sharp_Associateshttp://en.wikipedia.org/wiki/Department_of_National_Defence_(Canada)http://en.wikipedia.org/wiki/United_States_Department_of_Defensehttp://en.wikipedia.org/wiki/Defense_Advanced_Research_Projects_Agencyhttp://en.wikipedia.org/wiki/Motorola_6809http://en.wikipedia.org/wiki/Compilerhttp://en.wikipedia.org/wiki/James_Cordyhttp://en.wikipedia.org/wiki/University_of_Torontohttp://en.wikipedia.org/wiki/Ric_Holthttp://en.wikipedia.org/wiki/Xerox_PARChttp://en.wikipedia.org/wiki/Butler_Lampsonhttp://en.wikipedia.org/wiki/Formal_verificationhttp://en.wikipedia.org/wiki/Category:Programming_languages_created_in_the_1970shttp://en.wikipedia.org/wiki/Category:Procedural_programming_languageshttp://en.wikipedia.org/wiki/Turing_(programming_language)http://en.wikipedia.org/wiki/Concurrent_Euclid_(programming_language)http://en.wikipedia.org/wiki/Mesa_(programming_language)http://en.wikipedia.org/wiki/Pascal_(programming_language)http://en.wikipedia.org/wiki/Static_typinghttp://en.wikipedia.org/wiki/Strong_typinghttp://en.wikipedia.org/wiki/Type_systemhttp://en.wikipedia.org/wiki/James_Cordyhttp://en.wikipedia.org/wiki/Ric_Holthttp://en.wikipedia.org/wiki/Software_developerhttp://en.wikipedia.org/wiki/Xerox_PARChttp://en.wikipedia.org/wiki/Butler_Lampsonhttp://en.wikipedia.org/wiki/Functional_programminghttp://en.wikipedia.org/wiki/Imperative_programminghttp://en.wikipedia.org/wiki/Structured_programminghttp://en.wikipedia.org/wiki/Multi-paradigm_programming_languagehttp://en.wikipedia.org/wiki/Programming_paradigm