Mercury (ohjelmointikieli)

Wikipediasta
Siirry navigaatioon Siirry hakuun
Mercury
Paradigma funktionaalinen, logiikkapohjainen
Verkkosivu http://www.mercurylang.org

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.

  1. a b c d About Mercury/ motivation mercurylang.org. Viitattu 19.2.2020. (englanniksi) 
  2. Compile-Time Garbage Collection for the Declarative Language Mercury (PDF) mercurylang.org. Viitattu 19.2.2020. (englanniksi)
Tämä tietotekniikkaan liittyvä artikkeli on tynkä. Voit auttaa Wikipediaa laajentamalla artikkelia.