SORU
27 ŞUBAT 2012, PAZARTESİ


Agda arasındaki farklar ve İdris

Orada başladım bağımlı yazılan programlama ve Agda ve İdris dilleri Haskell en yakın olduğu içine dalmaya başlıyorum.

Aralarındaki temel farklar nelerdir? benim sorum: Tip sistemlerin her ikisi de eşit derecede expresive? Kapsamlı bir karşılaştırmalı ve yararları hakkında bir tartışma için çok iyi olurdu.

Çok güzel bir yer buldum:

  • İdris Agda örneği argümanlar ile gider ise Haskell à la tür sınıflar var
  • İdris monadic ve uygulamalı gösterimini içerir
  • İkisi de aynı olduklarından emin gerçek olmasa da rebindable sözdizimi, bir çeşit var gibi görünüyor.

Editbu soru Reddit sayfası : daha fazla cevap var http://www.reddit.com/r/dependent_types/comments/q8n2q/agda_vs_idris/

CEVAP
27 ŞUBAT 2012, PAZARTESİ


Bu cevap için en iyi kişi, muhtemelen biraz önyargılı olduğumu İdris hayata sahip olabilirim! SSS - http://docs.idris-lang.org/en/latest/faq/faq.html - bunun üzerine söyleyecek bir şeyi var, ama genişletmek için o biraz:

İdris dizayn edilmiştir yere kadar destek genel amaçlı programlama öncesinde teoremi ispat, ve gibi yüksek seviye özellikler gibi yazın sınıfları, gösterim, deyim parantez, liste üreteçleri, aşırı yükleme ve benzeri. İdris koyar yüksek seviye programlama öncesinde interaktif kanıt, ancak, çünkü İdris üzerine kurulu bir taktik tabanlı elaborator, var mı bir arabirim için bir taktik tabanlı interaktif teoremi örnekleri (biraz Coq, ama en gelişmiş, en azından henüz değil).

İdris iyi desteklemeyi hedefleyen başka bir şey Gömülü DSL uygulamasıdır. Haskell ile gösterim yapmak uzun bir yol alabilirsiniz, ve İdris de yapabilirsiniz, ama aynı zamanda uygulama ve değişken gibi diğer yapılar eğer gerekiyorsa bağlama yeniden bağlayın. Bu yazıda eğitimde bu konuda daha fazla bilgi bulabilirsiniz, veya tam detayları: http://www.cs.st-andrews.ac.uk/~eb/drafts/dsl-idris.pdf

Başka bir fark çıktı. Agda öncelikle Haskell ile gider, İdris C. ile İdris, C) aynı arka uç kullanır Agda için deneysel bir sonu Vardır bakımı nasıl bilmiyorum. İdris birincil hedefi her zaman verimli kod üretmek için olacak - bir sürü biz şu anda daha iyisini yapabiliriz, ama üzerinde çalışıyoruz.

Agda ve İdris yazın sistemleri birçok önemli açıdan oldukça benzer. Temel fark evrenler kullanımı olduğunu düşünüyorum. Agda evren polimorfizmi, İdris cumulativity (ve ayarlayabilirsiniz : bu çok kısıtlayıcı bulmak ve deliller sağlıksız olabilir sakıncası yoksa iki Set).

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • andyabc45

    andyabc45

    1 Mayıs 2011
  • BgirlNilaya

    BgirlNilaya

    29 EKİM 2008
  • Mark Brown

    Mark Brown

    9 HAZİRAN 2010