Euclid (programming language): Difference between revisions

Content deleted Content added
Jaraalbe (talk | contribs)
m link edit
No edit summary
Line 1:
'''Euclid''' is aan imperative programming language for writing verifiable programs. It was developed atby the[[Butler UniversityLampson]] ofand Torontoassociates byat the [[RicXerox HoltPARC]] etlab in the mid al1970s. 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|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 explicity 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. Descendents of Euclid include the [[Mesa programming language]], [[Concurrent Euclid]] and the [[Turing programming language]].
 
==External links==