Merkur | |
---|---|
Sprog klasse | logisk , funktionel |
Dukkede op i | 1995 |
Forfatter | Zoltan Somogyi |
Udvikler | University of Melbourne |
Filtypenavn _ | .m |
Frigøre | 22/01 (31. marts 2022 ) |
Type system | streng , statisk , polymorf |
Større implementeringer | Melbourne Mercury Compiler |
Blev påvirket | Prolog , Haskell |
Licens | GPL for compileren, LGPL for standardbiblioteket |
Internet side | mercurylang.org |
Mercury er et stærkt indtastet funktionelt logisk programmeringssprog designet til at løse følgende to problemer, der opstår, når du bruger det klassiske Prolog logiske programmeringssprog :
Sproget blev udviklet på University of Melbourne . Den første version blev udgivet af Fergus Henderson, Thomas Conway og Zoltan Somogyi den 8. april 1995 .
Mercury-syntaksen er delvist arvet fra Prolog, typesystemet ligner Haskell . Dette er et rent deklarativt sprog, udviklerne fjernede fuldstændigt alle bydende funktioner fra det, hvilket gjorde det muligt at forbedre optimeringsmulighederne indbygget i compileren . Navnet Mercury er givet til ære for guden for speed Mercury og afspejler fokus på at få højhastighedsprogrammer. Operationer, der normalt ville undgå en rent deklarativ tilgang, såsom I/O , er udtrykt i Mercury med deklarative konstruktioner, der anvender lineære typer .
Mercury- sprogkompilatoren er skrevet på selve sproget. Før Mercury-kompileren kunne kompilere sig selv, blev Prolog -sproget brugt . Det distribueres under betingelserne i GPL-licensen og fungerer på alle moderne operativsystemer. Det er muligt at oversætte kode til mange populære programmeringssprog, såsom: C , Java , Erlang , IL til .NET -platformen .
Siden 2010 har Project Mercury haft en 6-måneders udgivelsescyklus, hvor det store versionsnummer svarer til udgivelsesåret, det mindre versionsnummer svarer til den måned, hvor arbejdet med udgivelsen begyndte. De tidligere versioner havde tal som 0.12, 0.13... og tiden mellem udgivelser af stabile versioner var meget lang (ca. 3 år).
Mercury-kompileren distribueres på det officielle websted i kildekode, Windows -brugere kan også bruge den uofficielle winmercury-distribution. Dette er et praktisk installationsprogram, der installerer MinGW , GCC-kompileren og alle de nødvendige Mercury-filer i en kompileret og konfigureret form. Den indeholder også en HTML -hjælpefil med en praktisk indholdsfortegnelse og indeks, samt et plug-in til Vim -editoren . Den seneste Mercury-bygning til dato er 20.01.2.
Beregning af det 10. Fibonacci-tal (på den mest indlysende måde) [1] :
:- modul fib . :- interface . : - import_module.io . :- pred main ( io : :di , io : :uo ) er det . :- implementering . :- import_modul int . :- func fib ( int ) = int . fib ( N ) = ( hvis N =< 2 så 1 ellers fib ( N - 1 ) + fib ( N - 2 )). hoved (! IO ) :- io . write_string ( "fib(10) = " , ! IO ), io . write_int ( fib ( 10 ), ! IO ), io . nl (! IO ). % Kunne i stedet bruge io.format("fib(10) =%d\n", [i(fib(10))], !IO).
Programmeringssprog | |
---|---|
|