Mercury

Szoftver screenshot:
Mercury
Szoftver adatai:
Változat: 13.05.1
Feltöltés dátuma: 15 Apr 15
Fejlesztő: Mercury Developers
Engedély: Ingyenes
Népszerűség: 59

Rating: 2.0/5 (Total Votes: 2)

Logic programozási nyelvek már körül több mint húsz éve. Annak ellenére, hogy a várható előnyeiről nagyon magas szintű programozási nyelv alapján jól fejlett elméletek logikai, mint a hagyományos programozási nyelvek (például a C, C ++, Pascal és Ada) nem volt jelentős hatással a számítógépes iparban.
A higany egy új logikai / funkcionális programozási nyelv, amely egyesíti a világosság és kifejező ereje deklaratív programozás fejlett statikus elemzés és hiba észlelése jellemzői.
Mercury erősen optimalizált végrehajtása algoritmus a hatékonyságot messze meghaladó meglévő logikai programozási rendszerekben, és közel van a hagyományos programozási rendszereket.
Mercury problémáival foglalkozik nagyszabású program kidolgozása, amely lehetővé teszi a modularitás, külön összeállítása, és számos optimalizációs / idő kompromisszumokat.

Mi az új ebben a kiadásban:

  • Ez a hibajavítás kiadás javít építeni problémák Solaris és NetBSD és további támogatást nyújt kiválasztja a C # fordító, a konfiguráció során.
  • egyéb kisebb hiba javítva lett.
  • Van még néhány kisebb kiegészítésekkel a standard könyvtár.

Mi az új verzióban 13.05:

  • Generation 64 bites futtatható Windows támogatott.
  • Compilation alkalommal nagyon nagy programok is javult.
  • Több új típusú képviselet optimalizációt is került.
  • A debugger most már jobban támogatja a kezelési klikkek kölcsönösen rekurzív felhívja a stack.
  • A kötődés a GLFW könyvtár bővült az extrák forgalmazás.
  • szerelvények generált a C # backend most írt alá egy erős nevét.

Mi az új verzióban 11.01:

  • Van hozzá két új típusú körök a nyelvet.
  • A hatálya által bevezetett egyik új kulcsszavak require_det, require_semidet, require_multi, require_nondet, require_cc_multi, require_cc_nondet, require_erroneous és require_failure, mint a neve is mutatja, igényli a cél hatókörén belül van az adott determinizmus.
  • A hatálya által bevezetett kulcsszó require_complete_switch igényel a cél hatókörén belül, ha ez egy kapcsolót a változó nevű hatálya alá, hogy a teljes átállás, azaz, hogy fegyvert az összes funkció szimbólumok a típus a bekapcsolt változó.
  • Van hozzá semidet mód hash_table.fold / 4 és version_hash_table.fold / 4.
  • Van hozzá új predikátumok és függvények a assoc_list modul. A predikátumok map_keys_only / 3 map_values_only / 3 és map_values ​​/ 3 kiegészítője a funkciót az azonos nevű. A predikátumok szűrő / 3, negated_filter / 3, szűrő / 4, merge / 3, ami szintén funkciója verzió, nem munkahely nagyon hasonlít a predikátumok az azonos nevet a listából modult, de nem a megfelelő műveleteket billentyűk helyett teljes lista elemeit.
  • léptünk a lusta értékelés modult a statiszták forgalmazási és egy új szabvány könyvtári modult, az `lusta". Azt is tette backend-agnosztikus.
  • változtatások történtek a listán modul a standard könyvtár:
  • Mi hozzá egy új állítmány list.member_index0 / 3. Olyan ez, mint list.member / 2, kivéve, hogy ez is úgy paraméter képviselő nulla bázisú index az elem a listán.
  • Mi hozzá egy új állítmány list.map3_foldl / 7 ami leképezi egy listát előállító három listát és egy összehajtogatott értéke.
  • Adtunk semidet módok egyedi akkumulátorok list.foldl3 / 8, list.foldl4 / 10, list.foldl5 / 12, és list.foldl6 / 14.
  • Van hozzá predikátumok ossza / 4 és divide_by_set / 4 a tree_bitset modul a standard könyvtár.
  • Van hozzá predikátumok set_ctree234.member / 2 és set_ctree234.non_empty / 1. Megvan hozzá a funkciót set_ctree234.from_list / 1.
  • Van hozzá az állítmány set_bbbtree.count / 2 és a funkció set_bbbtree.count / 1. Ezek helyett a állítmány set_bbbtree.size / 2, amely mára elavulttá.
  • Van hozzá az állítmány set_ordlist.non_empty / 1.
  • Van hozzá az állítmány set_tree234.non_empty / 1 és a funkció set_tree234.from_list / 1.
  • Van hozzá predikátumok set_unordlist.non_empty / 1 és set_unordlist.count / 2, és a funkciót set_unordlist.count / 1.
  • az összes modult, a standard könyvtár, amely végrehajtja a beállított ADT, (set, set_ordlist, set_unordlist, set_bbbtree, set_tree234, és set_ctree234), most már támogatja összecsukható fölött készletek akár hat akkumulátorok. Mód, hogy egyedi, leginkább egyedi akkumulátorok set-szeres is kerültek.
  • Így van, a következő változtatásokat array modul a standard könyvtár:
  • Van hozzá funkciók unsafe_elem / 2 és fűzze a / 2.
  • Van hozzá predikátumok svset / 4, unsafe_svset / 4, foldl2 / 4, foldl2 / 6, foldr / 4, foldr2 / 6, map_foldl / 5, map_corresponding_foldl / 6, és a tag / 2.
  • Van hozzá predikátumok version_array.foldl2 / 6, version_array.foldr / 4, és version_array.foldr2 / 6 a standard könyvtár.
  • Van hozzá semidet módok egyedi és többnyire egyedi akkumulátorok a következő predikátumok:
  • 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
  • Van hozzá az állítmány unsorted_aggregate2 / 6 a megoldást modul a standard könyvtár.
  • Van hozzá több predikátumok és függvények az igénylő modul a standard könyvtár. A predikátumok sajnálom / 2 és sajnálom / 3 jelentés hiányában a szolgáltatás, míg a predikátumok váratlan / 2 és váratlan / 3 jelentés belső hibát a programban; mind a funkció változatban is. Az állítmány várják / 3 hívás váratlanul, ha a feltétel nem teljesül. Most várják / 4, valamint a várható / 3. Mert várják / 4, valamint a várható / 3, az első és az utolsó érv a várható állapotát és a hibaüzenet -kal, de elvárják / 4, két érv a közepén, hogy meghatározza a helyét a hiba (általában a nevet A modul és az alapul -kal). Azt is hozzá expect_not / 3 és expect_not / 4, amelyek olyanok, mint várják / 3 és elvárják / 4-ig, kivéve azt várják a feltétellel, hogy * * hamis, nem igaz.

Mi az új verzióban 10.04.2:

  • Ez a kiadás egy bug-fix kiadás. Számos probléma, amely miatt a fordító, hogy megszakítja ki lett javítva, néhány törött RTTI műveletek a java minőségű lett javítva, és van hozzá egy áthidaló megoldást a problémára es gcc 4.4.

korlátai :

  • A jelenlegi végrehajtása még nem maradéktalanul hajtsa végre a Mercury nyelv. A legfőbb korlátait a jelenlegi végrehajtása a következők:
  • Nem engedjük határozott aliasing a módban rendszert. E nélkül, részben példányai módok használhatatlan, és így egymásba ágyazott egyedi mód.
  • A fordító még nem használja szerkezete újrafelhasználás vagy fordítási időben szemétgyűjtő kihasználni egyedi mód.
  • típusát és módja következtetési egy kicsit hiányos.

  • Ezen kívül, tervezési döntések ebben a végrehajtásáról történő szabtak ki az alábbi határértékeket:
  • Predikátumok és függvények legfeljebb 1000 érveket.
  • A magasabb rendű tagokat lehet legfeljebb 500 érveket.

Hasonló program

ClamAv#
ClamAv#

3 Jun 15

Pre Make Kit
Pre Make Kit

3 Jun 15

Flapjax
Flapjax

3 Jun 15

Ruby
Ruby

17 Aug 18

Hozzászólások a Mercury

Hozzászólás nem található
Megjegyzés hozzáadása
Kapcsolja be a képeket!