Merkurius | |
---|---|
Kieliluokka | looginen , toimiva |
Esiintyi | 1995 |
Tekijä | Zoltan Somogyi |
Kehittäjä | Melbournen yliopisto |
Tiedostotunniste _ | .m |
Vapauta | 22.1. (31.3.2022 ) |
Tyyppijärjestelmä | tiukka , staattinen , polymorfinen |
Tärkeimmät toteutukset | Melbourne Mercury -kääntäjä |
Vaikutettu | Prolog , Haskell |
Lisenssi | GPL kääntäjälle, LGPL vakiokirjastolle |
Verkkosivusto | mercurylang.org |
Mercury on vahvasti kirjoitettu toiminnallinen logiikkaohjelmointikieli , joka on suunniteltu ratkaisemaan seuraavat kaksi ongelmaa, jotka syntyvät käytettäessä klassista Prolog -logiikkaohjelmointikieltä :
Kieli kehitettiin Melbournen yliopistossa . Ensimmäisen version julkaisivat Fergus Henderson, Thomas Conway ja Zoltan Somogyi 8. huhtikuuta 1995 .
Mercuryn syntaksi on osittain peritty Prologilta, tyyppijärjestelmä on samanlainen kuin Haskell . Tämä on puhtaasti deklaratiivinen kieli, kehittäjät poistivat siitä kokonaan kaikki välttämättömät ominaisuudet, mikä mahdollisti kääntäjän sisäänrakennettujen optimointiominaisuuksien parantamisen . Nimi Mercury on annettu nopeuden jumalan Mercuryn kunniaksi ja heijastaa keskittymistä nopeiden ohjelmien saamiseen. Operaatiot, jotka normaalisti välttäisivät puhtaasti deklaratiivisen lähestymistavan, kuten I/O , ilmaistaan Mercuryssa deklaratiivisilla konstruktioilla, jotka käyttävät lineaarisia tyyppejä .
Mercuryn kielen kääntäjä on kirjoitettu itse kielellä. Ennen kuin Mercury-kääntäjä pystyi kääntämään itsensä, käytettiin Prolog -kieltä . Sitä jaetaan GPL-lisenssin ehdoilla ja se toimii kaikissa nykyaikaisissa käyttöjärjestelmissä. On mahdollista kääntää koodia monille suosituille ohjelmointikielille, kuten: C , Java , Erlang , IL .NET - alustalle .
Vuodesta 2010 lähtien Project Mercurylla on ollut 6 kuukauden julkaisujakso, jossa pääversionumero vastaa julkaisuvuotta, alaversionumero vastaa kuukautta, jolloin julkaisutyö aloitettiin. Aiemmissa versioissa numerot olivat kuten 0.12, 0.13… ja vakaiden versioiden julkaisujen välinen aika oli hyvin pitkä (noin 3 vuotta).
Mercury-kääntäjä jaetaan virallisella sivustolla lähdekoodina, Windows -käyttäjät voivat myös käyttää epävirallista winmercury-jakelua. Tämä on kätevä asennusohjelma, joka asentaa MinGW :n , GCC-kääntäjän ja kaikki tarvittavat Mercury-tiedostot käännetyssä ja konfiguroidussa muodossa. Se sisältää myös HTML-ohjetiedoston , jossa on kätevä sisällysluettelo ja hakemisto, sekä Vim -editorin laajennuksen . Mercuryn viimeisin versio tähän mennessä on 20.01.2.
10. Fibonacci-luvun laskeminen (ilmeimmällä tavalla) [1] :
: - moduulifib . :- käyttöliittymä . : - import_module.io . :- pred main ( io : :di , io : :uo ) on det . :- toteutus . :- import_module int . :- func fib ( int ) = int . fib ( N ) = ( jos N = < 2 , niin 1 muu fib ( N - 1 ) + fib ( N - 2 )). pää (! IO ) :- io . kirjoitusmerkkijono ( "fib(10) = " , ! IO ), io . write_int ( fib ( 10 ), ! IO ), io . nl (! IO ). % Voisi sen sijaan käyttää muotoa io.format("fib(10) =%d\n", [i(fib(10))], !IO).
Ohjelmointikielet | |
---|---|
|