Ero sivun ”Mercury (ohjelmointikieli)” versioiden välillä

Wikipediasta
Siirry navigaatioon Siirry hakuun
[katsottu versio][katsottu versio]
Poistettu sisältö Lisätty sisältö
Ipr1 (keskustelu | muokkaukset)
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 pääongelma ratkaiseminen logiikkapohjaisissa kielissä:<ref name="about" />
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 &ndash; 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 &ndash; 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.

  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.