Euler es un lenguaje de programación creado por Niklaus Wirth y Helmut Weber, concebido como una extensión y generalización de ALGOL 60. [ 1 ] [ 2 ] [ 3 ] Los objetivos de los diseñadores eran crear un lenguaje que fuera:
- Más simple, pero más flexible, que ALGOL 60.
- Útil y procesado con una eficiencia razonable.
- Definible con rigurosa formalidad
Las fuentes disponibles indican que Euler ya estaba operativo en 1965.
Descripción general
Euler emplea un concepto general de tipo de datos . En Euler, los arreglos , procedimientos y conmutadores no son cantidades que se declaran y nombran mediante identificadores: a diferencia de ALGOL , no son cantidades al mismo nivel que las variables . Más bien, estas cantidades están al nivel de constantes numéricas y booleanas . Por lo tanto, además de las constantes numéricas y lógicas tradicionales, Euler introduce varios tipos adicionales:
Todas las constantes se pueden asignar a variables, que tienen la misma forma que en ALGOL, pero para las que no se especifican tipos fijos: Euler utiliza tipado dinámico . Además, un procedimiento puede producir un valor de cualquier tipo cuando se ejecuta, y este tipo puede variar de una llamada al procedimiento a la siguiente .
De forma similar, los elementos de una lista pueden tener valores de cualquier tipo, y estos pueden variar de un elemento a otro dentro de la lista. Así, cuando los elementos de la lista son etiquetas, se obtiene una estructura switch. Si los elementos son procedimientos, se obtiene una lista de procedimientos, que no está disponible en ALGOL 60. Si los elementos son listas, se obtiene una estructura de árbol general.
Euler proporciona operadores generales de prueba de tipos y conversión de tipos.
Véase también
Referencias
- ↑ Wirth, Niklaus ; Weber, Helmut (1966). "Euler: una generalización de ALGOL y su definición formal: Parte I". Communications of the ACM . 9 (1): 13– 25.
- ↑ Wirth, Niklaus ; Weber, Helmut (1966). "Euler: una generalización de ALGOL y su definición formal: Parte II". Communications of the ACM . 9 (2): 89– 99.
- ↑ Christopher, Thomas W. (1997). Euler: Un experimento en la definición del lenguaje (PDF) (Informe). Instituto Tecnológico de Illinois. Archivado del original (PDF) el 1 de septiembre de 2006.
Enlaces externos
- EULER en GitHub - EULER IV para la Burroughs B5500 de 1965
- euler en GitHub : una implementación escrita en Icon entre 2000 y 2001.
- Lenguajes de programación de tipado dinámico