LocalazyLocalazy
Euclid je univerzálny programovací jazyk, ktorý vytvorili Bob Harper a Paul Hudak na Yale University. Je pomenovaný podľa gréckeho matematika Euklida Alexandrijského. Jazyk je založený na paradigme funkcionálneho programovania a podporuje lenivé vyhodnocovanie, funkcie vyššieho rádu a garbage collection. Jazyk bol navrhnutý tak, aby sa ho študenti ľahko naučili a aby bol vhodný na písanie veľkých programov. Má jednoduchú syntax a výkonný typový systém. Euclid má aj bohatú sadu knižníc na rôzne úlohy, ako je práca s maticami, riešenie diferenciálnych rovníc a tvorba grafických používateľských rozhraní. Euclid je staticky typovaný jazyk, čo znamená, že všetky premenné musia byť deklarované s typom predtým, ako sa môžu použiť. Typový systém je veľmi expresívny a umožňuje širokú škálu typových anotácií. Euclid podporuje aj odvodzovanie typov, čo znamená, že typ premennej možno automaticky odvodiť z kontextu, v ktorom sa používa. Euclid kladie veľký dôraz na princípy softvérového inžinierstva. V jazyku Euclid je možné písať programy, ktoré sú veľmi dobre čitateľné a udržiavateľné. Jazyk podporuje aj rôzne nástroje na vývoj softvéru, ako je napríklad kontrola verzií, generátory dokumentácie a rámce na jednotkové testovanie. Euclid je jazyk s otvoreným zdrojovým kódom, ktorý je vydaný pod licenciou Apache License 2.0.