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

  • Felice Musique

    Felice Musiq

    22 NİSAN 2014
  • kalabrandmusic

    kalabrandmus

    25 Kasım 2009
  • WoodysGamertag

    WoodysGamert

    17 Aralık 2009