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

  • lissaandbeauty

    lissaandbeau

    24 Aralık 2011
  • Sparta Spartanutul

    Sparta Spart

    18 HAZİRAN 2013
  • Crossover

    Crossover

    18 HAZİRAN 2007