Mercury

Yazılım ekran görüntüsü:
Mercury
Yazılım detaylar:
Versiyon: 13.05.1
Qayıt: 15 Apr 15
Geliştirici: Mercury Developers
Lisans: Ücretsiz
Popülerlik: 59

Rating: 2.0/5 (Total Votes: 2)

Mantık programlama dilleri fazla yirmi yıl civarında olmuştur. (Örneğin, C, C ++, Pascal ve Ada gibi) geleneksel programlama dilleri üzerinde mantık gelişmiş teorilerine dayalı çok yüksek seviyeli bir programlama dili beklenen avantajlarına rağmen onlar bilgisayar endüstrisi üzerinde önemli bir etkisi olmadı.
Merkür netlik ve gelişmiş statik analiz ve hata algılama özellikleri ile açıklayıcı programlama etkileyiciliğini birleştiren yeni bir mantık / fonksiyonel programlama dilidir.
Merkür yüksek yürütme algoritması mevcut mantık programlama sistemlerinin aşan çok verimlilik sunar optimize ve geleneksel programlama sistemlerine yakındır.
Merkür büyük ölçekli program geliştirme sorunları, izin modülerlik, ayrı derleme, ve çok sayıda optimizasyon / zaman dengeler ele

Bu sürümde Yeni nedir:.

  • Bu hata düzeltme sürümü giderir Solaris ve NetBSD sorunları inşa ve yapılandırma anda C # derleyicisi seçilmesi için destek ekler.
  • Çeşitli diğer küçük hatalar giderildi.
  • da standart kütüphanesine bazı küçük eklemeler vardır.

sürüm 13.05 yeni nedir:

  • Windows 64-bit yürütülebilir Nesil artık destekleniyor.

  • Çok büyük programlar için
  • Derleme süreleri iyileştirilmiştir.
  • Çeşitli yeni tip temsil optimizasyonları eklendi.
  • ayıklayıcı şimdi yığın üzerinde karşılıklı özyinelemeli çağrı klikler işlemek için daha iyi destek vardır.
  • GLFW kütüphaneye bağlama ekstralar dağılımı eklenmiştir.

  • C # arka uç ile oluşturulan
  • Montajlar artık güçlü bir isim ile imzalanan olabilir.

sürüm 11.01 yeni nedir:

  • dile kapsamları iki yeni tür ekledik.

  • Adından da anlaşılacağı gibi
  • yeni anahtar kelimeler require_det, require_semidet, require_multi, require_nondet, require_cc_multi, require_cc_nondet, require_erroneous ve require_failure, biri tarafından tanıtıldı bir kapsam, verilen determinizm var kapsamı içinde hedefe gerektirir.

  • Bu kapsamda tarafından adlandırılmış değişken bir anahtar ise
  • Anahtar kelime require_complete_switch tarafından tanıtılan bir kapsam, türü tüm fonksiyon semboller için silah var, yani tam bir geçiş olması için, kapsam içindeki hedefe gerektirir açık-on değişken.
  • hash_table.fold için semidet modları / 4 ve version_hash_table.fold / 4.
  • eklemiş
  • assoc_list modülüne yeni yüklemler ve işlevleri ekledik. yüklemler map_keys_only / 3 map_values_only / 3 ve map_values ​​/ 3 tamamlayıcısı, aynı adı taşıyan işlevleri. yüklemler, negated_filter / 3/3 filtre filtre / 4, aynı zamanda fonksiyon sürümleri var / 3, liste modülünde aynı adı yüklemler çok benzer işleri yapmak birleştirme, ancak bunun yerine bütünün tuşlarında ilgili işlemleri yapmak Liste elemanları.
  • ekstralar dağıtım dışarı ve '' tembel olarak adlandırılan yeni bir standart kütüphane modüle tembel değerlendirme modülü taşındı. Aynı zamanda arka uç-agnostik yapılmıştır.

  • :
  • standart kütüphane listesi modülüne değişiklikler yaptık
  • Yeni bir yüklem list.member_index0 / 3 ekledi. Bu list.member da liste içinde elemanın sıfır tabanlı dizin temsil eden bir parametre alır dışında / 2.
  • gibi
  • üç listeleri ve bir katlanmış değer üreten bir liste üzerinde eşler yeni bir yüklem list.map3_foldl / 7 ekledi.
  • list.foldl3 / 8, list.foldl4 / 10, list.foldl5 / 12, ve list.foldl6 / 14 için benzersiz akümülatörlerin ile semidet modları eklendi.
  • yüklemler / 4 bölmek ve standart kütüphanenin tree_bitset modülüne / 4 divide_by_set ekledik.
  • yüklemleri, / 2 ve set_ctree234.non_empty / 1 set_ctree234.member ekledik. Biz fonksiyon set_ctree234.from_list / 1 eklemeniz gerekir.
  • ekledik yüklem set_bbbtree.count / 2 ve fonksiyon set_bbbtree.count / 1. Bu yüklem artık önerilmemektedir hangi / 2 set_bbbtree.size değiştirin.
  • yüklem set_ordlist.non_empty / 1.
  • eklemiş
  • yüklem set_tree234.non_empty / 1 ve fonksiyon set_tree234.from_list / 1.
  • eklemiş
  • ekledik yüklemler set_unordlist.non_empty / 1 ve set_unordlist.count / 2, ve fonksiyon set_unordlist.count / 1.
  • set ADT, (seti, set_ordlist, set_unordlist, set_bbbtree, set_tree234 ve set_ctree234) uygulamak standart kütüphanede modüllerin tamamı, şimdi altı akümülatörlerin ile setleri üzerinde katlanır destek. Set kat için benzersiz ve çoğunlukla benzersiz akümülatörler sağlayan modları da eklenmiştir.

  • :
  • standart kütüphanenin dizi modülüne aşağıdaki değişiklikleri yaptık
  • fonksiyonlar / 2 unsafe_elem ve / 2 ekleyin ekledik.
  • / 6 foldr2, map_foldl / 5, map_corresponding_foldl / 6, ve üye / 2.
  • unsafe_svset / 4, foldl2 / 4, foldl2 / 6/4 foldr, yüklemler / 4 svset ekledik
  • standart kütüphane / '4, ve version_array.foldr2 / 6 version_array.foldr, / 6 version_array.foldl2 yüklemler ekledik.
  • Aşağıdaki yüklemler için benzersiz ve çoğunlukla benzersiz akümülatörlerin ile semidet modları ekledik:
  • 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
  • standart kütüphanenin çözümleri modülüne yüklemi unsorted_aggregate2 / 6 ekledik.
  • standart kütüphane gerektiren modülüne birkaç yüklemler ve işlevleri ekledik. / 2 ve üzgün / 3 rapor özelliği olmaması üzgünüm yüklemler, ise / 3 rapor programında bir iç hata / 2 beklenmedik ve beklenmeyen yüklemler; hepsi çok işlev sürümlere sahip. Bir koşul memnun değilse yüklemi / 3 çağrıları beklenmedik bekliyoruz. Biz şimdi / 4 bekliyoruz yanı sıra / 3 bekliyoruz var. Satılık / 4 de beklediğiniz gibi / 3, ilk ve son argümanlar sırasıyla beklenen durumu ve hata mesajı vardır, ama beklediğiniz ile, hata (normalde ismi konumunu belirtmek için ortada iki argüman / 4 vardır bekliyoruz ) sırasıyla modülün ve yüklem. Onlar koşul * yanlış *, doğru değil.
  • olmasını bekliyoruz dışında biz de, / 4 sırasıyla expect_not / 3 bekliyoruz ve bekliyoruz gibi / 3 ve expect_not / 4, ekledi

sürüm 10.04.2 yeni nedir:

  • Bu sürüm bir hata-düzeltme sürümüdür. Sabit olmuştur iptal etmek derleyici kaynaklanan sorunlar bir dizi, java sınıfta bazı kırık RTTI işlemleri sabit olmuştur ve biz KİK sürüm 4.4 ile ilgili bir sorun için bir çözüm ekledik.

Sınırlamalar :

  • henüz tamamen Mercury dilini uygulamıyor mevcut uygulama. Mevcut uygulamanın ana sınırlamalar şunlardır:
  • mod sistemde kesin Aliasing izin vermez. Bu olmadan, kısmen örneği modları kullanılamaz, ve böylece benzersiz modları iç içe.
  • derleyici henüz benzersiz modları yararlanmak için yapı yeniden kullanımını kullanabilir veya çöp toplama zamanlı derleme yapmaz.
  • Tipi ve mod çıkarım biraz eksik vardır.

  • Ayrıca, bu implemenation tasarım kararları empoze aşağıdaki sınırları:
  • Yüklem ve fonksiyonları 1000 argümanlar hakkında en olabilir.
  • Yüksek mertebeden terimler en fazla yaklaşık 500 argümanlar olabilir.

Benzer yazılım

IsForth
IsForth

20 Feb 15

Guile
Guile

20 Feb 15

Python
Python

22 Jun 18

LavaPE
LavaPE

20 Feb 15

Yorumlar Mercury

Yorum Bulunamadı
Yorum eklemek
Görüntülerde açın!