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

  • DorkmanScott

    DorkmanScott

    14 NİSAN 2006
  • Jack Vale Films

    Jack Vale Fi

    8 ŞUBAT 2007
  • schmittastic

    schmittastic

    9 EYLÜL 2009