Higany | |
---|---|
Nyelvóra | logikus , funkcionális |
Megjelent | 1995 |
Szerző | Somogyi Zoltán |
Fejlesztő | Melbourne-i Egyetem |
Fájlkiterjesztés _ | .m |
Kiadás | 01/22 (2022. március 31. ) |
Típusrendszer | szigorú , statikus , polimorf |
Főbb megvalósítások | Melbourne Mercury fordító |
Befolyásolva | Prolog , Haskell |
Engedély | GPL a fordítóhoz, LGPL a szabványos könyvtárhoz |
Weboldal | mercurylang.org |
A Mercury egy erősen tipizált funkcionális logikai programozási nyelv, amelyet a következő két probléma megoldására terveztek , amelyek a klasszikus Prolog logikai programozási nyelv használatakor merülnek fel :
A nyelvet a Melbourne-i Egyetemen fejlesztették ki . Az első verziót Fergus Henderson, Thomas Conway és Somogyi Zoltán adta ki 1995. április 8- án .
A Mercury szintaxisát részben a Prolog örökölte, a típusrendszer hasonló a Haskellhez . Ez egy tisztán deklaratív nyelv, a fejlesztők teljesen eltávolították belőle az összes kötelező funkciót, ami lehetővé tette a fordítóba épített optimalizálási képességek fejlesztését . A Mercury nevet a sebesség istenének, Mercurynak a tiszteletére adták, és a nagysebességű programok elérésére való összpontosítást tükrözi. Azokat a műveleteket, amelyek általában elkerülik a tisztán deklaratív megközelítést, mint például az I/O , a Mercury lineáris típusokat használó deklaratív konstrukciókkal fejezi ki .
A Mercury nyelvi fordítója magán a nyelven van írva. Mielőtt a Mercury fordító tudta volna lefordítani magát, a Prolog nyelvet használták . A GPL licenc feltételei szerint terjesztik, és minden modern operációs rendszeren működik. Lehetőség van a kód lefordítására számos népszerű programozási nyelvre, például: C , Java , Erlang , IL .NET platformhoz .
2010 óta a Project Mercury 6 hónapos kiadási ciklussal rendelkezik, ahol a főverziószám a kiadás évének, a mellékverziószám pedig annak a hónapnak felel meg, amelyben a kiadással kapcsolatos munka elkezdődött. A korábbi verziók olyan számokkal rendelkeztek, mint 0,12, 0,13… és a stabil verziók megjelenése közötti idő nagyon hosszú volt (kb. 3 év).
A Mercury fordító a hivatalos oldalon forráskódban kerül terjesztésre, a Windows felhasználók a nem hivatalos winmercury disztribúciót is használhatják. Ez egy praktikus telepítő, amely lefordított és konfigurált formában telepíti a MinGW -t , a GCC fordítót és az összes szükséges Mercury-fájlt. Tartalmaz továbbá egy HTML súgófájlt praktikus tartalomjegyzékkel és indexszel, valamint egy beépülő modult a Vim szerkesztőhöz . A Mercury legújabb verziója a mai napig 20.01.2.
A 10. Fibonacci-szám kiszámítása (a legkézenfekvőbb módon) [1] :
:- modul fib . :- interfész . : - import_module.io . :- pred main ( io : :di , io : :uo ) a det . :- megvalósítás . :- import_module int . :- func fib ( int ) = int . fib ( N ) = ( ha N =< 2 , akkor 1 különben fib ( N - 1 ) + fib ( N - 2 )). fő (! IO ) :- io . write_string ( "fib(10) = " , ! IO ), io . write_int ( fib ( 10 ), ! IO ), io . nl (! IO ). % Ehelyett használhatja az io.format("fib(10) =%d\n", [i(fib(10))], !IO).
Programozási nyelvek | |
---|---|
|