Aldor es un lenguaje de programación . [1] [2] [3] Es el sucesor de A# como lenguaje de extensión del sistema de álgebra computacional Axiom .
Aldor combina características imperativas, funcionales y orientadas a objetos . Tiene un sistema de tipos elaborado, [4] que permite utilizar tipos como valores de primera clase. La sintaxis de Aldor está muy influenciada por Pascal , pero opcionalmente es sensible a la sangría, utilizando caracteres de espacio en blanco y la regla off-side , como Python . En su implementación actual, está compilado, pero se proporciona un oyente interactivo.
Aldor se distribuye como software libre y de código abierto , bajo la Licencia Apache 2.0.
El programa Hola mundo se ve así:
#include "aldor" #include "aldorio" stdout << "¡Hola, mundo!" << nueva línea ;
Ejemplo de tipos dependientes (de la Guía del usuario):
# incluye "aldor" # incluye "aldorio" # pila listasum ( R: ArithmeticType , l : List R ) : R == s : R := 0 ; para x en l repita s := s + x s importar desde Lista Entero , Entero , Lista Flotante Único , Flotante Único stdout << sumlist ( Entero , [ 2 , 3 , 4 , 5 ]) << nueva línea stdout << sumlist ( Flotante Único , [ 2.0 , 2.1 , 2.2 , 2.4 ]) << nueva línea
# incluye "aldor" # incluye "aldorio" importar desde Entero , Cadena ; bob ( n : Entero ) : Cadena == { b : Cadena := " botella" ; si n ~= 1 entonces b := b + "s" ; b + " de cerveza" ; } main () : () == { n : Entero := 99 ; otw : Cadena := " en la pared" ; -- abstenerse mientras n > 0 repetir { stdout << n << bob ( n ) << otw << ", " << n << bob ( n ) << "." << nueva línea ; stdout << "Toma uno y pásalo, " ; n := n - 1 ; si n > 0 entonces stdout << n ; de lo contrario stdout << "no más" ; stdout << bob ( n ) << otw << "." << nueva línea ; stdout << nueva línea ; } -- último verso stdout << "No más" << bob ( n ) << otw << ", no más" << bob ( n ) << "." << newline ; stdout << "Ve a la tienda y compra más, " ; n : Entero := 99 ; stdout << n << bob ( n ) << otw << "." << newline ; } principal () ;