SORU
5 EKİM 2010, Salı


Nasıl Haskell içinde doğan çalışır?

Haskell içinde soyut veri yapıları otomatik olarak türetmek tarafından bazı typeclasses örneği (Show, Eq gibi) olabilir.

data  Maybe a  =  Nothing | Just a
  deriving (Eq, Ord)

Benim soru, nasıl bu işten doğan mı, yani nasıl Haskell doğan ADT için türetilmiş typeclass fonksiyonlarını uygulamak için nasıl biliyor mu?

Ayrıca, neden bazı typeclasses sınırlı vermeli? Neden türetilebilir kendi typeclass yazabilir mi?

CEVAP
5 EKİM 2010, Salı


Kısa cevap, büyü :-). Bu otomatik türetmek Haskell spec içine pişmiş ve her derleyici kendi şekilde uygulamak için seçebilirsiniz. Ancak genişletilebilir yapmak için bir sürü iş var.

Türetmek kendi türetmek mekanizmalar yazmak için Haskell için bir araçtır: http://community.haskell.org/~ndm/derive/

DZD türetilebilir bir tür sağlamak için kullanılan sınıf uzantısı olarak adlandırılan "Genel Sınıfları" biraz zayıf gibi nadiren kullanıldı, ama: http://www.haskell.org/ghc/docs/6.12.2/html/users_guide/generic-classes.html

Şimdi alınmış ve çalışma bu yazıda anlatıldığı gibi yeni doğan genel bir mekanizma entegre etmeye devam ediyor: http://www.dreixel.net/research/pdf/gdmh.pdf

Bu konuda daha fazla bilgi için bkz:

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bart Baker

    Bart Baker

    1 Aralık 2006
  • BumbleDroid

    BumbleDroid

    18 EKİM 2010
  • hidetake takayama

    hidetake tak

    3 Mart 2009