Mercurio | |
---|---|
clase de idioma | lógico , funcional |
Apareció en | 1995 |
Autor | Zoltán Somogyi |
Desarrollador | Universidad de Melbourne |
extensión de archivo | .m |
Liberar | 22/01 (31 marzo 2022 ) |
sistema de tipos | estricto , estático , polimórfico |
Implementaciones principales | Compilador Melbourne Mercury |
sido influenciado | Prólogo , Haskell |
Licencia | GPL para el compilador, LGPL para la biblioteca estándar |
Sitio web | mercuriolang.org |
Mercury es un lenguaje de programación de lógica funcional fuertemente tipado diseñado para resolver los siguientes dos problemas que surgen al usar el lenguaje de programación de lógica clásico Prolog :
El lenguaje fue desarrollado en la Universidad de Melbourne . La primera versión fue lanzada por Fergus Henderson, Thomas Conway y Zoltan Somogyi el 8 de abril de 1995 .
La sintaxis de Mercury se hereda en parte de Prolog, el sistema de tipos es similar al de Haskell . Este es un lenguaje puramente declarativo , los desarrolladores eliminaron por completo todas las características imperativas , lo que hizo posible mejorar las capacidades de optimización integradas en el compilador . El nombre Mercurio se da en honor al dios de la velocidad Mercurio y refleja el enfoque en obtener programas de alta velocidad. Las operaciones que normalmente evitarían un enfoque puramente declarativo, como E/S , se expresan en Mercury con construcciones declarativas que utilizan tipos lineales .
El compilador del lenguaje Mercury está escrito en el propio lenguaje. Antes de que el compilador Mercury pudiera compilarse a sí mismo, se utilizó el lenguaje Prolog . Se distribuye bajo los términos de la licencia GPL y funciona en todos los sistemas operativos modernos. Es posible traducir código a muchos lenguajes de programación populares, como: C , Java , Erlang , IL para la plataforma .NET .
Desde 2010, Project Mercury ha tenido un ciclo de lanzamiento de 6 meses, donde el número de versión principal corresponde al año de lanzamiento, el número de versión secundaria corresponde al mes en que comenzó el trabajo en el lanzamiento. Las versiones anteriores tenían números como 0.12, 0.13… y el tiempo entre lanzamientos de versiones estables era muy largo (alrededor de 3 años).
El compilador Mercury se distribuye en el sitio oficial en código fuente, los usuarios de Windows también pueden usar la distribución no oficial de winmercury. Este es un instalador útil que instala MinGW , el compilador GCC y todos los archivos Mercury necesarios en una forma compilada y configurada. También contiene un archivo de ayuda HTML con una práctica tabla de contenido e índice, así como un complemento para el editor Vim . La última versión de Mercury hasta la fecha es 20.01.2.
Calculando el décimo número de Fibonacci (de la manera más obvia) [1] :
:- módulo fib . : -interfaz . : - import_module.io . :- pred principal ( io : :di , io : :uo ) es det . :- implementación . :- import_module int . : -func fib ( int ) = int . mentira ( N ) = ( si N =< 2 entonces 1 otra cosa mentira ( N - 1 ) + mentira ( N - 2 )). principal (! IO ) : - io . write_string ( "fib(10) = " , ! IO ), io . write_int ( fib ( 10 ), ! IO ), io . nl (! IO ). % En su lugar, podría usar io.format("fib(10) =%d\n", [i(fib(10))], !IO).
Lenguajes de programación | |
---|---|
|