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

  • bombjack2991

    bombjack2991

    29 HAZİRAN 2008
  • glowpinkstah

    glowpinkstah

    16 Mayıs 2006
  • LiquidMusick

    LiquidMusick

    23 Aralık 2010