Euclid



Proiectat de: Butler Lampson, Xerox PARC


Euclid este un limbaj de programare imperativ pentru scrierea programelor verificabile.

A fost proiectat de Butler Lampson și Asociați la laboratorul Xerox PARC la mijlocul anilor ’70.

Implementarea a fost condusă de Ric Holt la Universitatea din Toronto, iar James Cordy a fost programatorul principal pentru prima implementare a compilatorului.

Acesta a fost inițial conceput pentru microprocesorul Motorola 6809.

A fost considerat inovator deocamdată; Echipa de dezvoltare a compilatorului a avut un buget de 2 milioane de dolari pe parcursul a 2 ani și a fost comandată de Agenția de proiecte de cercetare avansată de apărare a Departamentului Apărării din SUA și a Departamentului Canadian al Apărării Naționale.

Acesta a fost folosit de câțiva ani la I.

P.

Sharp Associates, MITER Corporation, SRI International și diverse alte instituții internaționale pentru cercetare în programele de sisteme și sisteme software sigure.

Euclid este descendent din limbajul de programare Pascal.

Funcțiile din euclid sunt scopuri închise, pot să nu aibă efecte secundare și trebuie să declare în mod explicit importurile.

Euclid nu permite, de asemenea, gotos, numere de puncte flotante, alocări globale, funcții cuibărite și aliasuri și niciunul dintre parametrii reali ai unei funcții nu se poate referi la același lucru.

Euclid implementează module ca tipuri.

Descendenții Euclidului includ limbajul de programare MESA, limbajul de programare euclid concomitent și limbajul de programare Turing.