2011-10-27 22 views

cevap

37

Tip ve veri türü tam olarak aynı konsepte bakın. Haskell type ve data anahtar

olsa farklıdır: type sadece bir tür eşanlamlı hale ederken data, yeni bir cebirsel veri türünü tanıtmak için izin verir.

Detaylar için Haskell wiki bakınız.

+1

resmini tamamlamak için, çok newtype'' vardır . newtype T = T a' ve 'veri T = T a' zor, ama oldukça önemlidir' arasındaki farkı kavrar. –

+0

i örnek üzerinde newtype. Yani örnekteki ne fark olduğunu gördü? – user997112

+1

@ user997112 'newtype', bir tür eşanlamlılık oluşturmak için kullanılan bir derleme zamanı türüdür, ancak farklı bir tür olarak ele alınır. Bunu bir 'veri' içine sarabilirsiniz, ancak çalışma zamanında bazı ek yükler ekleyebilir. Çalışma zamanı yükü olmadan, tür farklılaştırmasını istediğiniz derleyiciye açık. uzun hikaye: http://www.haskell.org/haskellwiki/Newtype – Ptival

1

Terimler bazen karışık, ancak genellikle "veri türü", desen eşleştirebileceğiniz kuruculara sahip data anahtar sözcüğünü kullanan bir türe karşılık gelir. Bunlar da cebirsel veri türleri olarak adlandırılır".

Sadece 'tip' benzeri newtype, fonksiyon türlerini kullanarak ve oluşturulan ayrıca türlerini içeren daha genel bir terimdir.

+0

Yani kendi kendine yazmak Integer vb? – user997112

İlgili konular