Mercury (ohjelmointikieli)
Mercury on funktionaalinen logiikkapohjainen ohjelmointikieli.[1] Toisin kuin aiemmat logiikkapohjaiset kielet Mercury ei tuota konekieltä vaan C-kieltä, joka voidaan kääntää kohdealustalle.[1]
Mercury | |
---|---|
Paradigma | funktionaalinen, logiikkapohjainen |
Verkkosivu | http://www.mercurylang.org |
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
- 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)
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.