Euclid es un lenguaje de programación imperativo para escribir programas verificables . Fue diseñado a mediados de la década de 1970 por Butler Lampson y James G. Mitchell en el laboratorio Xerox PARC , en colaboración con Jim Horning de la Universidad de Toronto , Ralph L. London del USC ISI y Gerald J. Popek de la UCLA . La implementación fue liderada por Ric Holt de la Universidad de Toronto , y James Cordy fue el programador principal de la primera implementación del compilador . Originalmente, fue diseñado para el microprocesador Motorola 6809. Se consideró innovador para su época; el equipo de desarrollo del compilador contó con un presupuesto de 2 millones de dólares durante 2 años y fue contratado por la Agencia de Proyectos de Investigación Avanzada de Defensa del Departamento de Defensa de los Estados Unidos y el Departamento de Defensa Nacional de Canadá . Se utilizó durante algunos años en IP Sharp Associates , MITRE Corporation , SRI International y otros institutos internacionales para la investigación en programación de sistemas y sistemas de software seguros.
Euclid desciende de Pascal , Mesa , Alphard , CLU , Gypsy, BCPL , Modula , LIS y SUE. Las funciones en Euclid tienen ámbitos cerrados, no pueden tener efectos secundarios y deben declarar explícitamente las importaciones. Euclid tampoco permite goto , números de punto flotante, asignaciones globales, funciones anidadas ni alias, y ninguno de los parámetros reales de una función puede referirse a la misma celda de memoria (que Euclid llama "variable"). Euclid implementa módulos como tipos. Entre los descendientes de Euclid se incluyen el lenguaje de programación Concurrent Euclid y el lenguaje de programación Turing .
Enlaces externos
- BW Lampson, JJ Horning, RL London, JG Mitchell y GJ Popek 1977. Informe sobre el lenguaje de programación Euclid. SIGPLAN Notices 12, 2 (febrero de 1977), 1-79.
- RC Holt, DB Wortman, JR Cordy y DR Crowe 1978. El lenguaje euclidiano: un informe de progreso. En Actas de la Conferencia Anual de 1978 (Washington, DC, Estados Unidos, 4-6 de diciembre de 1978), 111-115.
- DB Wortman y JR Cordy 1981. Primeras experiencias con Euclid. En Actas de la 5ª Conferencia Internacional sobre Ingeniería de Software (San Diego, California, Estados Unidos, 9-12 de marzo de 1981), 27-32.
- Lenguajes de programación procedimental
- Lenguajes de programación creados en la década de 1970
- Lenguajes de programación de tipado estático
- lenguajes de programación de sistemas
- Software de la Universidad de Toronto