Mercury (ohjelmointikieli)
Mercury | |
---|---|
Paradigma | funktionaalinen, logiikkapohjainen |
Verkkosivu | http://www.mercurylang.org |
Infobox OK |
Mercury on funktionaalinen logiikkapohjainen ohjelmointikieli.[1] Toisin kuin aiemmat logiikkapohjaiset kielet Mercury ei tuota konekieltä vaan C-kieltä, joka voidaan kääntää kohdealustalle.[1]
Kielen tavoitteiksi on mainittu kahden pääongelman ratkaiseminen logiikkapohjaisissa kielissä:[1]
- logiikkapohjaisten kielien kääntäjät havaitsevat vähemmän virhetilanteita kuin imperatiivisten kielten kääntäjät
- logiikkapohjaisten kielien toteutukset ovat merkittävästi hitaampia kuin imperatiivisten kielten
Kieleen on kehitetty käännösaikainen roskienkeruu staattisen analyysin avulla.[2]
Kielen sanotaan olevan lähes kaksi kertaa nopeampi kuin nopein olemassa oleva logiikkapohjainen kieli (Aquarius Prolog) ja 20 – 36 kertaa nopeampi kuin tavukoodin tulkkia käyttävät Prolog-toteutukset.[1]
Kielessä on Prolog-kieltä muistuttava syntaksi ja polymorphinen staattinen tyyppijärjestelmä. Kieltä kehittää Melbournen yliopisto ja sen suunnittelija on Zoltán Somogyi.
Lähteet
- ↑ a b c d About Mercury/ motivation mercurylang.org. Viitattu 19.2.2020. (englanniksi)
- ↑ Compile-Time Garbage Collection for the Declarative Language Mercury (PDF) mercurylang.org. Viitattu 19.2.2020. (englanniksi)