Mercury

Software screenshot:
Mercury
Software detaljer:
Version: 13.05.1
Upload dato: 15 Apr 15
Licens: Gratis
Popularitet: 11

Rating: 2.0/5 (Total Votes: 1)

Logic programmeringssprog har eksisteret i mere end tyve år. På trods af de forventede fordele ved et meget højt niveau programmeringssprog baseret på veludviklede teorier om logik i forhold til konventionelle programmeringssprog (såsom C, C ++, Pascal og Ada) de ikke har haft væsentlig indflydelse på computerindustrien.
Kviksølv er en ny logik / funktionelt programmeringssprog, som kombinerer den klarhed og udtryksfuldhed af deklarativ programmering med avancerede statiske analyse og fejl afsløring funktioner.
Kviksølv er stærkt optimeret udførelse algoritme leverer effektivitet langt over eksisterende logik programmering systemer, og tæt på konventionelle programmeringssystemer.
Kviksølv løser problemerne med omfattende program udvikling, tillader modularitet, separat kompilering, og talrige optimering / tid trade-offs

Hvad er nyt i denne udgivelse:.

  • Dette Bugfix release rettelser bygge problemer på Solaris og NetBSD og tilføjer understøttelse for at vælge C # compiler på konfiguration tid.
  • Forskellige andre mindre bugs er blevet rettet.
  • Der er også nogle mindre tilføjelser til standard bibliotek.

Hvad er nyt i version 13.05:

  • Generation af 64-bit eksekverbare på Windows understøttes nu.
  • Compilation tider for meget store programmer er blevet forbedret.
  • Flere nye typer repræsentation optimeringer er blevet tilføjet.
  • debugger har nu bedre støtte til håndtering af kliker af indbyrdes rekursive kald på stakken.
  • En binding til GLFW bibliotek er blevet tilføjet til extras distribution.
  • Forsamlinger genereret med C # backend kan nu underskrevet med et stærkt navn.

Hvad er nyt i version 11.01:

  • Vi har tilføjet to nye typer af rækkevidder til sproget.
  • Et omfang indført med en af ​​de nye søgeord require_det, require_semidet, require_multi, require_nondet, require_cc_multi, require_cc_nondet, require_erroneous og require_failure, som navnet antyder, kræver målet inde i rækkevidde til at få den givne determinisme.
  • En rækkevidde indført ved nøgleordet require_complete_switch kræver målet inde anvendelsesområdet, hvis det er en switch på variabel med navnet af omfanget, at være en komplet switch, dvs. at have våben til alle funktionssymboler i den type af tændt variabel.
  • Vi har tilføjet semidet tilstande for hash_table.fold / 4 og version_hash_table.fold / 4.
  • Vi har tilføjet nye prædikater og funktioner til assoc_list modulet. De prædikater map_keys_only / 3 map_values_only / 3 og map_values ​​/ 3 supplerer funktionerne af samme navn. De prædikater filter / 3, negated_filter / 3, filter / 4, flette / 3, der også har funktion versioner, gør arbejdspladser meget ligner de prædikater af samme navn på listen modulet, men gør de relevante operationer på tasterne i stedet for hele listeelementer.
  • Vi har flyttet den dovne evaluering modulet ud af extras distribution og ind i en ny standard bibliotek modul kaldet `doven«. Det er også blevet gjort backend-agnostiker.
  • Vi har foretaget ændringer i listen modul af standard bibliotek:
  • Vi har tilføjet et nyt prædikat list.member_index0 / 3. Det er ligesom list.member / 2, bortset fra at det tager også en parameter, der repræsenterer nul-baserede indeks af elementet på listen.
  • Vi har tilføjet et nyt prædikat list.map3_foldl / 7, som kortlægger over en liste der producerer tre lister og en foldet værdi.
  • Vi har tilføjet semidet tilstande med unikke akkumulatorer for list.foldl3 / 8, list.foldl4 / 10, list.foldl5 / 12, og list.foldl6 / 14.
  • Vi har tilføjet de prædikater opdele / 4 og divide_by_set / 4 til tree_bitset modul af standard bibliotek.
  • Vi har tilføjet de prædikater set_ctree234.member / 2 og set_ctree234.non_empty / 1. Vi har tilføje funktionen set_ctree234.from_list / 1.
  • Vi har tilføjet den prædikatet set_bbbtree.count / 2 og funktionen set_bbbtree.count / 1. Disse erstatter prædikatet set_bbbtree.size / 2 som nu forældet.
  • Vi har tilføjet prædikatet set_ordlist.non_empty / 1.
  • Vi har tilføjet prædikatet set_tree234.non_empty / 1 og funktionen set_tree234.from_list / 1.
  • Vi har tilføjet de prædikater set_unordlist.non_empty / 1 og set_unordlist.count / 2, og funktionen set_unordlist.count / 1.
  • Alle moduler i standard bibliotek, der implementerer den indstillede ADT, (sæt, set_ordlist, set_unordlist, set_bbbtree, set_tree234 og set_ctree234), understøtter nu folde sæt med op til seks akkumulatorer. Tilstande, der giver unikke og for det meste-unikke akkumulatorer for sæt fold er også blevet tilføjet.
  • Vi har foretaget følgende ændringer i den vifte modul af standard bibliotek:
  • Vi har tilføjet funktioner unsafe_elem / 2 og føje / 2.
  • Vi har tilføjet de prædikater svset / 4, unsafe_svset / 4, foldl2 / 4, foldl2 / 6, foldr / 4, foldr2 / 6, map_foldl / 5, map_corresponding_foldl / 6, og medlem / 2.
  • Vi har tilføjet de prædikater version_array.foldl2 / 6, version_array.foldr / 4, og version_array.foldr2 / 6 til standard bibliotek.
  • Vi har tilføjet semidet tilstande med unikke og for det meste-unikke akkumulatorer for følgende prædikater:
  • 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
  • Vi har tilføjet prædikatet unsorted_aggregate2 / 6 til løsninger modul af standard bibliotek.
  • Vi har tilføjet flere prædikater og funktioner til kræve modul af standard biblioteket. De prædikater ked / 2 og undskyld / 3 rapport ikke findes en funktion, mens de prædikater uventede / 2 og uventede / 3 rapport en intern fejl i programmet; alle har funktion versioner også. Det prædikat forventer / 3 opkald uventet, hvis en betingelse er ikke opfyldt. Vi har nu forventer / 4 samt forvente / 3. For forventer / 4 samt forvente / 3, første og sidste argumenter er den forventede tilstand og fejlmeddelelsen henholdsvis men med forventer / 4, er der to argumenter i midten for at angive placeringen af ​​fejlen (normalt navnet af modulet og prædikat henholdsvis). Vi har også tilføjet expect_not / 3 og expect_not / 4, som er ligesom forventer / 3 og forventer / 4 henholdsvis bortset fra at de forventer, at betingelsen for at være * falsk *, ikke sandt.

Hvad er nyt i version 10.04.2:

  • Denne udgivelse er en bug-fix release. En række problemer, der er forårsaget compileren at afbryde er fastsat, har nogle brudte RTTI operationer i java klasse blevet fastsat, og vi har tilføjet en løsning på et problem med GCC-version 4.4.

Begrænsninger :

  • Den nuværende gennemførelse endnu ikke fuldstændigt gennemføre Mercury sprog. De vigtigste mangler ved den nuværende implementering er følgende:
  • Vi tillader ikke konkret aliasing i tilstanden system. Uden dette, delvist instantierede tilstande er ubrugelig, og så er indlejret unikke modes.
  • compiler ikke endnu bruge struktur genbrug eller kompilere tid garbage collection til at udnytte unikke modes.
  • Type og tilstand inferens er lidt ufuldkommen.

  • Desuden har designbeslutninger i denne implemenation pålagt følgende grænser:
  • prædikater og funktioner kan have højst ca. 1000 argumenter.
  • Højere ordens led kan have højst omkring 500 argumenter.

Lignende software

GNU Octave
GNU Octave

22 Jun 18

Python
Python

22 Jun 18

IPython
IPython

20 Feb 15

IsForth
IsForth

20 Feb 15

Kommentarer til Mercury

Kommentarer ikke fundet
Tilføj kommentar
Tænd billeder!