stringtranslate.com

Aldor

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.

Ejemplos

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                    

99 botellas de cerveza :

# 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 () ;

Referencias

  1. ^ Gerdt, Vladimir P.; Koepf, Wolfram; Mayr, Ernst W.; Vorozhtsov, Evgenii V. (7 de septiembre de 2010). Álgebra informática en computación científica: 12.º taller internacional, CASC 2010, Tsakhadzor, Armenia, 6-12 de septiembre de 2010, Actas. Springer. ISBN 978-3-642-15274-0. Recuperado el 5 de julio de 2023 .
  2. ^ Kirchner, Helene; Ringeissen, Christophe (30 de diciembre de 2006). Frontiers of Combining Systems: Third International Workshop, FroCoS 2000 Nancy, Francia, 22-24 de marzo de 2000 Actas. Springer. ISBN 978-3-540-46421-1.
  3. ^ Kerber, Manfred; Kohlhase, Michael (2 de abril de 2001). Computación simbólica y razonamiento automatizado: el simposio CALCULEMUS-2000. CRC Press. ISBN 978-1-4398-6423-4. Recuperado el 5 de julio de 2023 .
  4. ^ "Lenguaje de programación Aldor". Aldor.org . Consultado el 12 de febrero de 2017 .

Enlaces externos