3
在Haskell中派生如何工作?
Haskell中的代数数据类型(ADT)可以自动成为某些 typeclass的实例(例如Show,Eq所)获得来自他们。 data Maybe a = Nothing | Just a deriving (Eq, Ord) 我的问题是,这是如何deriving工作的,即Haskell如何知道如何为派生的ADT实现派生的类型类的功能? 还有,为什么 deriving限于某些类型类?为什么我不能编写自己的派生类?