Rtuť | |
---|---|
Jazyková třída | logické , funkční |
Objevil se v | 1995 |
Autor | Zoltan Somogyi |
Vývojář | University of Melbourne |
Přípona souboru | .m |
Uvolnění | 01/22 (31. března 2022 ) |
Typový systém | přísný , statický , polymorfní |
Hlavní implementace | Kompilátor Melbourne Mercury |
Byl ovlivněn | Prolog , Haskell |
Licence | GPL pro kompilátor, LGPL pro standardní knihovnu |
webová stránka | mercurylang.org |
Mercury je silně typovaný funkční logický programovací jazyk navržený k řešení následujících dvou problémů, které vznikají při používání klasického logického programovacího jazyka Prolog :
Jazyk byl vyvinut na University of Melbourne . První verzi vydali Fergus Henderson, Thomas Conway a Zoltan Somogyi 8. dubna 1995 .
Syntaxe Mercury je částečně zděděna z Prologu, typový systém je podobný Haskell . Jedná se o čistě deklarativní jazyk, vývojáři z něj zcela odstranili všechny imperativní funkce, což umožnilo zlepšit možnosti optimalizace zabudované do kompilátoru . Jméno Merkur je dáno na počest boha rychlosti Merkura a odráží zaměření na získávání vysokorychlostních programů. Operace, které by se normálně vyhýbaly čistě deklarativnímu přístupu, jako je I/O , jsou vyjádřeny v Merkuru s deklarativními konstrukcemi používajícími lineární typy .
Kompilátor jazyka Mercury je napsán v jazyce samotném. Než se kompilátor Mercury dokázal zkompilovat, byl použit jazyk Prolog . Je distribuován za podmínek licence GPL a funguje na všech moderních operačních systémech. Je možné přeložit kód do mnoha oblíbených programovacích jazyků, jako jsou: C , Java , Erlang , IL pro platformu .NET .
Od roku 2010 má Project Mercury 6měsíční cyklus vydávání, kde číslo hlavní verze odpovídá roku vydání, číslo vedlejší verze odpovídá měsíci, ve kterém začaly práce na vydání. Dřívější verze měly čísla jako 0.12, 0.13… a doba mezi vydáními stabilních verzí byla velmi dlouhá (asi 3 roky).
Kompilátor Mercury je distribuován na oficiálních stránkách ve zdrojovém kódu, uživatelé Windows mohou využít i neoficiální distribuci winmercury. Jedná se o praktický instalátor, který nainstaluje MinGW , kompilátor GCC a všechny potřebné soubory Mercury v zkompilované a nakonfigurované podobě. Obsahuje také soubor nápovědy HTML s užitečným obsahem a rejstříkem a také zásuvný modul pro editor Vim . Nejnovější sestavení Mercury k dnešnímu dni je 20.01.2.
Výpočet 10. Fibonacciho čísla (nejviditelnějším způsobem) [1] :
:- modul fib . :- rozhraní . : - import_module.io . :- pred main ( io : :di , io : :uo ) je det . :- realizace . :- import_module int . :- func fib ( int ) = int . fib ( N ) = ( pokud N =< 2 , pak 1 jinak fib ( N - 1 ) + fib ( N - 2 )). hlavní (! IO ) :- io . write_string ( "fib(10) = " , ! IO ), io . write_int ( fib ( 10 ), ! IO ), io . nl (! IO ). % Mohl by místo toho použít io.format("fib(10) =%d\n", [i(fib(10))], !IO).
Programovací jazyky | |
---|---|
|