Mercury

Software screenshot:
Mercury
Software ətraflı:
Version: 13.05.1
Tarixi Upload: 15 Apr 15
Geliştirici: Mercury Developers
Lisenziya: Pulsuz
Məşhurluq: 11

Rating: 2.0/5 (Total Votes: 1)

Məntiq proqramlaşdırma dilləri çox iyirmi il ətrafında olmuşdur. (Məsələn, C, C ++, Pascal və Ada kimi) ənənəvi proqramlaşdırma dilləri üzərində məntiq inkişaf nəzəriyyələr əsasında çox yüksək səviyyəli proqramlaşdırma dili gözlənilən üstünlüklərə baxmayaraq, onlar kompüter sənayesinin əhəmiyyətli təsir idi yoxdur.
Mercury aydınlıq və inkişaf etmiş statik analizi və səhv aşkar xüsusiyyətləri ilə deklarativ proqramlaşdırma ifadəlilik birləşdirən yeni bir məntiq / funksional proqramlaşdırma dilidir.
Mercury yüksək icra alqoritm mövcud məntiq proqramlaşdırma sistemlərinin artıq uzaq səmərəliliyinin təmin optimize və şərti proqramlaşdırma sistemləri yaxındır.
Mercury genişmiqyaslı proqram inkişaf problemləri imkan modularity, ayrı-ayrı yığma, və bir çox optimallaşdırılması / vaxt ticarət-off URL

Bu azad Yeni nədir.

  • Bu bugfix azad düzeltmelerini Solaris və NetBSD problemləri qurmaq və konfiqurasiya zamanda C # compiler seçilməsi üçün dəstək verir.
  • Müxtəlif digər kiçik hatalar müəyyən edilmişdir.
  • də standart kitabxana bəzi kiçik əlavələr var.

versiyası 13.05 yeni nədir:

  • Windows 64-bit executables Generation indi dəstəklənir.

  • Çox böyük proqramlar üçün
  • Compilation dəfə yaxşılaşdırılmışdır.
  • neçə yeni tipli təmsil optimallaşdırılması əlavə edilmişdir.
  • ayıklama indi yığını qarşılıqlı recursive zənglər Dəst baxılması üçün daha yaxşı dəstək var.
  • A GLFW kitabxana məcburi Əlavələr paylanması əlavə edilmişdir.

  • C # backend ilə yaradılan
  • Assemblies artıq güclü adı ilə imzalana bilər.

versiyası 11.01 yeni nədir:

  • Biz dil scopes iki yeni növ əlavə edilmişdir.

  • Adı nəzərdə tutur kimi
  • Yeni açar sözlər require_det, require_semidet, require_multi, require_nondet, require_cc_multi, require_cc_nondet, require_erroneous və require_failure biri təqdim A daxilində verilmiş determinizmin üçün çərçivəsində daxili məqsəd tələb edir.

  • Bu daxilində adlı dəyişən bir keçid əgər
  • söz require_complete_switch təqdim A daxilində növü bütün funksiyası rəmzləri üçün silah var, yəni tam keçid olmaq, əhatə dairəsi daxilində qol tələb edir işə-on dəyişən.
  • Biz hash_table.fold üçün semidet rejimi / 4 və version_hash_table.fold / 4.
  • əlavə
  • Biz assoc_list modulu yeni predicates və funksiyaları əlavə. predicates map_keys_only / 3 map_values_only / 3 və map_values ​​/ 3 complement eyni adlı fəaliyyət göstərir. predicates, negated_filter / 3/3 filter filter / 4, həmçinin funksiyası versiyasını / 3, siyahısı, modul eyni adlı predikatların çox oxşar işlər birləşməsi, lakin əvəzinə bütün, düymələri müvafiq əməliyyatlar Siyahı elementləri.
  • Biz Əlavələr paylanması həyata və `tənbəl adlı yeni standart kitabxana modul daxil tənbəl qiymətləndirmə modulu köçürülüb. O, həmçinin backend-aqnostik edilmişdir.

  • Biz standart kitabxana siyahısı modulu dəyişikliklər
  • Biz yeni xəbər list.member_index0 / 3 əlavə edib. Bu list.member bu da siyahı ərzində element sıfır-based index təmsil edən parametri edir ki, başqa / 2.
  • kimi
  • Biz üç siyahıları və bir dağıdıldı dəyər istehsal siyahı üzərində xəritələr yeni xəbər list.map3_foldl / 7 əlavə edib.
  • Biz list.foldl3 / 8, list.foldl4 / 10, list.foldl5 / 12 və list.foldl6 / 14 üçün unikal akkumulyatorlar ilə semidet rejimi əlavə edib.
  • Biz predicates / 4 bölmək və standart kitabxana tree_bitset modul / 4 divide_by_set əlavə edilmişdir.
  • Biz predicates / 2 və set_ctree234.non_empty / 1 set_ctree234.member əlavə edilmişdir. Biz funksiyası set_ctree234.from_list / 1 əlavə var.
  • Biz əlavə xəbər set_bbbtree.count / 2 və funksiyası set_bbbtree.count / 1. Bu xəbər indi deprecated olan / 2 set_bbbtree.size dəyişin.
  • Biz xəbər set_ordlist.non_empty / 1.
  • əlavə
  • Biz xəbər set_tree234.non_empty / 1 və funksiyası set_tree234.from_list / 1.
  • əlavə
  • Biz əlavə predicates set_unordlist.non_empty / 1 və set_unordlist.count / 2, və funksiyası set_unordlist.count / 1.
  • set EEST, (set, set_ordlist, set_unordlist, set_bbbtree, set_tree234, və set_ctree234) həyata standart kitabxana modulları Bütün, indi altı akkumulyatorlar ilə dəstləri üzərində qatlama dəstəkləyir. Set qat üçün unikal və çox-unikal akkumulyatorlar təmin Modu da əlavə edilmişdir.

  • Biz standart kitabxana array modul aşağıdakı dəyişikliklər etdik
  • Biz funksiyaları / 2 unsafe_elem və / və 2 əlavə əlavə edilmişdir.
  • Biz / 6 foldr2, map_foldl / 5, map_corresponding_foldl / 6 və üzv / 2.
  • unsafe_svset / 4, foldl2 / 4, foldl2 / 6, / 4 foldr, predicates / 4 svset əlavə
  • Biz standart kitabxana / 4, version_array.foldr2 / 6 version_array.foldr, / 6 version_array.foldl2 predicates əlavə edilmişdir.
  • Biz aşağıdakı predikatların üçün unikal və çox-unikal akkumulyatorların ilə semidet rejimi əlavə:
  • 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
  • Biz standart kitabxana həllər modul xəbər unsorted_aggregate2 / 6 əlavə edilmişdir.
  • Biz standart kitabxana tələb modul bir neçə predicates və funksiyaları əlavə. / 2 və üzr / 3 hesabat xüsusiyyət olmaması üzr predicates olarkən / 3 hesabat proqramı daxili səhv / 2 gözlənilməz və gözlənilməz predicates; bütün çox funksiya versiyası var. bir vəziyyət razı deyilsə xəbər / 3 zənglər gözlənilməz gözləyirik. Biz indi / 4 gözləmək, eləcə də / 3 gözləyirik var. Üçün / 4, eləcə də gözləmək kimi / 3, ilk və son dəlilləri müvafiq gözlənilən vəziyyəti və səhv mesaj, lakin gözləyirik, səhv (adətən adı yerini müəyyən etmək üçün ortada iki dəlilləri / 4 var gözləyirik ) müvafiq olaraq modul və xəbər edir. Onlar vəziyyəti * yalan * doğru deyil.
  • olmasını gözləyirik istisna olmaqla biz də / 4 müvafiq expect_not / 3 gözləmək və gözləmək kimi / 3 və expect_not / 4, əlavə

versiyası 10.04.2 yeni nədir:

  • Bu azad bir bug-fix azad edir. Müəyyən edilmişdir abort compiler səbəb bir sıra problemlər, java dərəcəli bəzi broken RTTI əməliyyatları müəyyən edilmişdir və biz GCC versiyası 4.4 ilə bir problem üçün bir çözüm əlavə edilmişdir.

məhdudiyyətlər

  • hələ tam Mercury dil tətbiq etmir cari həyata keçirilməsi. Cari həyata keçirilməsinin əsas məhdudiyyətlər aşağıdakılardır:
  • Biz rejimi sistemində müəyyən aliasing imkan vermir. Bu olmadan, qismən instantiated rejimi yararsız və belə unikal rejimi iç içə.
  • compiler hələ unikal rejimi istifadə strukturu təkrar istifadə və ya zibil toplama vaxt tərtib deyil.
  • növü və rejimi nəticəçıxarma bir az qeyri-kamil.

  • Bundan əlavə, bu həyata keçirildiyi dizayn qərarları tətbiq Aşağıdakı limitlər:
  • predicates və funksiyaları 1000 dəlilləri haqqında ən ola bilər.
  • Ali sifariş şərtləri ən təxminən 500 arqumentlər ola bilər.

Oxşar proqram

TinyPie
TinyPie

12 May 15

Bocfel
Bocfel

17 Feb 15

Rails
Rails

17 Feb 15

Şərh Mercury

Şərhlər tapılmadı
Şərh əlavə
Images yandırın!