如何在Haskell中得到工作?
Haskell中的代数数据类型(ADT)可以通过从它们派生而自动成为某些类型类(例如
Show
,Eq
)的实例。
data Maybe a = Nothing | Just a
deriving (Eq, Ord)
我的问题是,这个deriving
是如何工作的,即Haskell如何知道如何为派生的ADT实现派生类型类的函数?
另外,为什么deriving
仅限于某些类型类?为什么我不能编写自己可以派生的类型类?
没有找到相关结果
已邀请:
3 个回复
疼嘶桐
破弯
邵酮
生成以下实例:
上述功能
定义如下。 (请注意,此代码必须与上述用法分开放置)。
其中使用以下功能和类型。 首先是一些类型的同义词,使代码更具可读性。
主要的可重用功能。我们将它传递给函数列表以生成实例的函数。
上述的辅助功能。
还有一些借用的辅助代码取自Syb III / replib 0.2。