Mercury

Programinė įranga Screenshot:
Mercury
Programinė detalės:
Versija: 13.05.1
Įkėlimo datą: 15 Apr 15
Kūrėjas: Mercury Developers
Licencija: Nemokamai
Populiarumas: 59

Rating: 2.0/5 (Total Votes: 2)

Loginiai programavimo kalbos buvo maždaug už daugiau nei dvidešimt metų. Nepaisant numatomų privalumų labai aukšto lygio programavimo kalba, pagrįsta gerai išvystyta teorijų logika nei tradicinių programavimo kalbų (pavyzdžiui, C, C ++, Pascal ir Ada) jie neturėjo reikšmingos įtakos kompiuterių pramonėje.
Gyvsidabris yra nauja logika / funkcinis programavimo kalba, kuri vienija aiškumą ir išraiškingumą deklaratyvaus programavimo su pažangių statinė analizė ir klaidų aptikimo funkcijos.
Gyvsidabris yra labai optimizuotas vykdymo algoritmas užtikrina efektyvumą gerokai viršija esamas logika programavimo sistemų ir artimas tradicinių programavimo sistemas.
Gyvsidabris nagrinėjami plataus masto programos kūrimo problemas, todėl moduliškumo, atskiras kompiliacijos, o daugybė optimizavimas / laiko kompromisai

Kas naujo , šioje laidoje:.

  • Ši Ištaisyta spaudai pataisymai kurti problemas Solaris ir NetBSD ir priduria paramą pasirinkdami C # kompiliatorius ne konfigūracijos metu.
  • Įvairūs kiti smulkūs klaidos buvo ištaisytos.
  • Taip pat yra keletas nedidelių papildymai standartinės bibliotekos.

Kas naujo 13.05 versija:

  • kartos 64-bitų vykdomąjį apie Windows dabar palaikoma.
  • Kompiliavimas kartus labai didelių programų buvo pagerintos.
  • Keletas naujų tipas atstovavimo optimizavimas buvo pridėta.
  • debugeris dabar turi didesnę paramą tvarkymo cliques abipusiškai rekursinis ragina kamino.
  • privalomos GLFW bibliotekoje buvo įtraukta į extras platinimo.
  • Agregatai generuojami su C # posistemė, dabar gali būti pasirašyta su stipriu vardu.

Kas naujo 11.01 versija:

  • Mes pridėjome du naujus rūšių apimtis kalbai.
  • taikymo sritį pristatė vieną iš naujų žodžių require_det, require_semidet, require_multi, require_nondet, require_cc_multi, require_cc_nondet, require_erroneous ir require_failure, kaip rodo pats pavadinimas, reikalauja viduje taikymo sritį tikslą turėti tikrą determinizmas.
  • taikymo sritį pristatė raktažodžių require_complete_switch reikalauja viduje taikymo sritį tikslą, jei ji yra ant kintamojo vardu apimtimi jungiklis, kad būtų baigtas jungiklis, ty turėti ginklus visų funkcinių simbolių į tipą įjungtų kintamąjį.
  • Mes pridėjome semidet režimus hash_table.fold / 4 ir version_hash_table.fold / 4.
  • Mes pridėjome naujų predikatai ir funkcijas į assoc_list modulį. Į predikatai map_keys_only / 3 map_values_only / 3 ir map_values ​​/ 3 papildo to paties pavadinimo funkcijos. Į predikatai filtruoti / 3, negated_filter / 3, filtruoti / 4, sujungti / 3, kuris taip pat turi funkcija versijas, tai darbo labai panašus į to paties pavadinimo sąraše modulio predikatai, bet padaryti atitinkamas operacijas raktus vietoj ištisų elementų sąrašas.
  • Mes persikėlė tingus vertinimo modulį iš extras platinimo ir į naują standartinę bibliotekos modulio vadinamas "tingus". Taip pat buvo padaryta posistemės agnostikas.
  • Mes padarėme pakeitimus į sąrašą modulio standartinio bibliotekos:
  • Mes pridėjome naują pirminį list.member_index0 / 3. Tai lyg list.member / 2 išskyrus tai, kad joje taip pat atsižvelgiama parametrą atstovaujanti nulinės remiantis indeksas per sąrašo elementą.
  • Mes pridėjome naują pirminį list.map3_foldl / 7, kuri žemėlapiai per sąrašą, gaminanti tris sąrašus ir vieną sulankstytą vertę.
  • Mes pridėjome semidet režimus su unikaliu akumuliatoriai list.foldl3 / 8, list.foldl4 / 10, list.foldl5 / 12, ir list.foldl6 / 14.

  • Mes papildomas predikatai padalinti / 4 ir divide_by_set / 4 su tree_bitset modulio standartinio bibliotekos.
  • Mes papildomas predikatai set_ctree234.member / 2 ir set_ctree234.non_empty / 1. Mes turime pridėti funkciją set_ctree234.from_list / 1.
  • Mes pridėjome tarinys set_bbbtree.count / 2 ir funkcijos set_bbbtree.count / 1. Tai pakeis tarinys set_bbbtree.size / 2, kuri dabar atgyvenę.
  • Mes pridėjome tarinys set_ordlist.non_empty / 1.
  • Mes pridėjome pirminį set_tree234.non_empty / 1 ir funkcija set_tree234.from_list / 1.
  • Mes papildomas predikatai set_unordlist.non_empty / 1 ir set_unordlist.count / 2, ir funkcija set_unordlist.count / 1.
  • Viskas iš standartinės bibliotekos modulius, kad įgyvendinti nustatytą VDA, (rinkinys, set_ordlist, set_unordlist, set_bbbtree, set_tree234 ir set_ctree234), dabar palaiko lankstymo per rinkiniai su iki šešių akumuliatorių. Režimai, kurie suteikia unikalų ir dažniausiai unikalus akumuliatorius nustatytą kartus taip pat buvo pridėta.
  • Mes padarėme šiuos pakeitimus masyvo modulio standartinio bibliotekos:

  • Mes pridėjome funkcijos unsafe_elem / 2 ir pridėkite / 2.
  • Mes papildomas predikatai svset / 4 unsafe_svset / 4, foldl2 / 4, foldl2 / 6, foldr / 4, foldr2 / 6, map_foldl / 5, map_corresponding_foldl / 6, narys / 2.

  • Mes pridėti predikatai version_array.foldl2 / 6, version_array.foldr / 4 ir version_array.foldr2 / 6 standartinė biblioteka.
  • Mes pridėjome semidet režimus su unikaliu ir dažniausiai-unikalių akumuliatorių dėl šių predikatai:
  • bimap.foldl2 / 6
  • bimap.foldl3 / 8
  • cord.foldl_pred / 4
  • cord.map_foldl / 5
  • list.map_corresponding_foldl2 / 8
  • list.map_corresponding_foldl3 / 10
  • list.map_corresponding3_foldl / 7
  • map.foldl3 / 8
  • Mes pridėjome predikato unsorted_aggregate2 / 6 sprendimai modulio standartinio bibliotekos.
  • Mes pridėjome keletą predikatai ir funkcijas Reikalauti modulio standartinio bibliotekos. Į predikatai Atsiprašome / 2 ir gaila / 3 ataskaitą apie funkciją nebuvimas, o predikatai netikėtų / 2 ir netikėtų / 3 ataskaita vidinė klaida programoje; visi turi funkcija versijas taip pat. Tarinys tikėtis / 3 skambučiai netikėtas, jei sąlyga nėra įvykdyta. Mes dabar turime tikėtis / 4, taip pat tikėtis / 3. Dėl tikėtis / 4, taip pat tikėtis / 3, pirmieji ir paskutiniai argumentai yra tikimasi būklę ir klaidos pranešimą, atitinkamai, bet tikėtis / 4, yra du argumentai viduriu nurodykite klaidos (paprastai pavadinimas Vietovė modulio ir predikato atitinkamai). Mes taip pat pridūrė, expect_not / 3 ir expect_not / 4, kuris yra tarsi tikėtis / 3 ir tikėtis / 4, atitinkamai, išskyrus atvejus, jie tikisi sąlyga, kad būtų klaidinga * *, o ne tiesa.

Kas naujo versija 10.04.2:

  • Ši laida yra bug-fix spaudai.
  • problemų, kurios sukėlė kompiliatorių nutraukti buvo fiksuotas skaičius, kai skaldytų rtti operacijos Java klasės buvo nustatytos ir mes pridėjome apeiti už su PĮBT versija 4.4 problema.

Apribojimai :

  • Dabartinė įgyvendinimas dar nėra visiškai įgyvendinti Mercury kalbą. Pagrindiniai apribojimai dabartinė įgyvendinimo yra taip: "
  • Mes neleidžiame neabejotinas aliasing režimu sistema. Be to, iš dalies priderinta režimai netinkami, ir taip yra įdėtos unikaliais režimais.
  • kompiliatorius dar nėra panaudoti struktūra pakartotinai arba kompiliavimo šiukšlių surinkimo išnaudoti unikalias režimus.
  • Tipai ir režimas išvada yra šiek tiek netobula.

  • Be to, dizaino sprendimai šioje vykdymas.ICS įvedė šie apribojimai:
  • predikatai ir funkcijos gali būti ne daugiau kaip apie 1000 argumentais.
  • Aukštojo užsakymo terminai gali turėti ne daugiau kaip apie 500 argumentus.

Panaši programinė įranga

PyRuby
PyRuby

11 May 15

Guile
Guile

20 Feb 15

Shed Skin
Shed Skin

15 Apr 15

CmdOption
CmdOption

28 Sep 15

Komentarai Mercury

Komentarai nerastas
Pridėti komentarą
Pasukite ant paveikslėlio!