Ero sivun ”Mercury (ohjelmointikieli)” versioiden välillä
Siirry navigaatioon
Siirry hakuun
[katsottu versio] | [katsottu versio] |
Poistettu sisältö Lisätty sisältö
Ei muokkausyhteenvetoa |
p kh |
||
Rivi 23: | Rivi 23: | ||
'''Mercury''' on [[Funktionaalinen ohjelmointi|funktionaalinen]] [[Logiikkapohjainen ohjelmointi|logiikkapohjainen ohjelmointikieli]].<ref name="about">{{Verkkoviite | osoite = http://www.mercurylang.org/about/motivation.html | nimeke = About Mercury/ motivation | viitattu = 19.2.2020 | kieli = {{en}} }}</ref> Toisin kuin aiemmat logiikkapohjaiset kielet Mercury ei tuota [[konekieli|konekieltä]] vaan [[C (ohjelmointikieli)|C-kieltä]], joka voidaan kääntää kohdealustalle.<ref name="about" /> |
'''Mercury''' on [[Funktionaalinen ohjelmointi|funktionaalinen]] [[Logiikkapohjainen ohjelmointi|logiikkapohjainen ohjelmointikieli]].<ref name="about">{{Verkkoviite | osoite = http://www.mercurylang.org/about/motivation.html | nimeke = About Mercury/ motivation | viitattu = 19.2.2020 | kieli = {{en}} }}</ref> Toisin kuin aiemmat logiikkapohjaiset kielet Mercury ei tuota [[konekieli|konekieltä]] vaan [[C (ohjelmointikieli)|C-kieltä]], joka voidaan kääntää kohdealustalle.<ref name="about" /> |
||
Kielen tavoitteiksi on mainittu kahden |
Kielen tavoitteiksi on mainittu kahden pääongelman ratkaiseminen logiikkapohjaisissa kielissä:<ref name="about" /> |
||
* logiikkapohjaisten kielien [[ohjelmointikielen kääntäjä|kääntäjät]] havaitsevat vähemmän virhetilanteita kuin [[Imperatiivinen ohjelmointi|imperatiivisten]] kielten kääntäjät |
* logiikkapohjaisten kielien [[ohjelmointikielen kääntäjä|kääntäjät]] havaitsevat vähemmän virhetilanteita kuin [[Imperatiivinen ohjelmointi|imperatiivisten]] kielten kääntäjät |
||
* logiikkapohjaisten kielien toteutukset ovat merkittävästi hitaampia kuin imperatiivisten kielten |
* logiikkapohjaisten kielien toteutukset ovat merkittävästi hitaampia kuin imperatiivisten kielten |
||
Rivi 31: | Rivi 31: | ||
Kielen sanotaan olevan lähes kaksi kertaa nopeampi kuin nopein olemassa oleva logiikkapohjainen kieli (Aquarius Prolog) ja 20 – 36 kertaa nopeampi kuin [[tavukoodi]]n tulkkia käyttävät [[Prolog]]-toteutukset.<ref name="about" /> |
Kielen sanotaan olevan lähes kaksi kertaa nopeampi kuin nopein olemassa oleva logiikkapohjainen kieli (Aquarius Prolog) ja 20 – 36 kertaa nopeampi kuin [[tavukoodi]]n tulkkia käyttävät [[Prolog]]-toteutukset.<ref name="about" /> |
||
Kielessä on Prolog-kieltä muistuttava [[syntaksi]] ja [[Polymorphismi|polymorphinen]] staattinen [[tyyppijärjestelmä]]. |
Kielessä on Prolog-kieltä muistuttava [[syntaksi]] ja [[Polymorphismi|polymorphinen]] staattinen [[tyyppijärjestelmä]]. Kieltä kehittää [[Melbournen yliopisto]] ja sen suunnittelija on Zoltán Somogyi. |
||
Kieltä kehittää [[Melbournen yliopisto]] ja sen suunnittelija on Zoltán Somogyi. |
|||
== Lähteet == |
== Lähteet == |
Nykyinen versio 7. marraskuuta 2020 kello 14.54
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.
Lähteet
[muokkaa | muokkaa wikitekstiä]- ↑ 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)