为什么将“新型Q”记录为关于黑客的“数据Q”?

时间:2018-09-09 16:21:47

标签: haskell

this是文档错误还是其他错误?

1 个答案:

答案 0 :(得分:6)

这不是错误。 Haddock将所有抽象类型打印为data。想法是这样的:将类型保持为抽象,以便库作者可以在用户不知道(或不需要)的情况下更改内部表示。由于库作者可能会在newtypedata之间进行更改,并且用户不应该知道这一点,因此创建新类型的两种方式都必须以相同的方式在黑线区中呈现。

鉴于此,对我来说,两者都使用newtype还是对两者都使用data之间的选择对我来说似乎很清楚:data的使用频率更高,对于初学者来说更容易理解。