Mercur | |
---|---|
Clasa de limba | logic , funcțional |
Aparut in | 1995 |
Autor | Zoltan Somogyi |
Dezvoltator | Universitatea din Melbourne |
Extensie de fișier | .m |
Eliberare | 22/01 (31 martie 2022 ) |
Tip sistem | strict , static , polimorf |
Implementări majore | Melbourne Mercury Compiler |
A fost influențat | Prolog , Haskell |
Licență | GPL pentru compilator, LGPL pentru biblioteca standard |
Site-ul web | mercurylang.org |
Mercury este un limbaj de programare logic funcțional puternic tipizat , conceput pentru a rezolva următoarele două probleme care apar atunci când se utilizează limbajul de programare logic clasic Prolog :
Limba a fost dezvoltată la Universitatea din Melbourne . Prima versiune a fost lansată de Fergus Henderson, Thomas Conway și Zoltan Somogyi pe 8 aprilie 1995 .
Sintaxa Mercury este parțial moștenită de la Prolog, sistemul de tipuri este similar cu Haskell . Acesta este un limbaj pur declarativ , dezvoltatorii au eliminat complet toate caracteristicile imperative din acesta, ceea ce a făcut posibilă îmbunătățirea capabilităților de optimizare încorporate în compilator . Numele Mercur este dat în onoarea zeului vitezei Mercur și reflectă concentrarea asupra obținerii de programe de mare viteză. Operațiile care ar evita în mod normal o abordare pur declarativă, cum ar fi I/O , sunt exprimate în Mercur cu constructe declarative folosind tipuri liniare .
Compilatorul limbajului Mercury este scris în limbajul propriu-zis. Înainte ca compilatorul Mercury să se poată compila singur, a fost folosit limbajul Prolog . Este distribuit în conformitate cu termenii licenței GPL și funcționează pe toate sistemele de operare moderne. Este posibilă traducerea codului în multe limbaje de programare populare, cum ar fi: C , Java , Erlang , IL pentru platforma .NET .
Din 2010, Project Mercury a avut un ciclu de lansare de 6 luni, în care numărul versiunii majore corespunde anului lansării, numărul versiunii minore corespunde lunii în care au început lucrările la lansare. Versiunile anterioare aveau numere precum 0.12, 0.13... iar timpul dintre lansările versiunilor stabile a fost foarte lung (aproximativ 3 ani).
Compilatorul Mercury este distribuit pe site-ul oficial în cod sursă, utilizatorii Windows pot folosi și distribuția neoficială winmercury. Acesta este un program de instalare util care instalează MinGW , compilatorul GCC și toate fișierele Mercury necesare într-o formă compilată și configurată. Conține, de asemenea, un fișier HTML Help cu un cuprins și un index la îndemână, precum și un plug-in pentru editorul Vim . Cea mai recentă versiune Mercury până în prezent este 20.01.2.
Calcularea celui de-al 10-lea număr Fibonacci (în cel mai evident mod) [1] :
:- modul fib . :- interfata . : - import_module.io . :- pred main ( io : :di , io : :uo ) este det . :- implementare . :- import_module int . :- func fib ( int ) = int . fib ( N ) = ( dacă N =< 2 atunci 1 altfel fib ( N - 1 ) + fib ( N - 2 )). principal (! IO ) :- io . write_string ( "fib(10) = " , ! IO ), io . write_int ( fib ( 10 ), ! IO ), io . nl (! IO ). % Ar putea folosi io.format("fib(10) =%d\n", [i(fib(10))], !IO).
Limbaje de programare | |
---|---|
|