this是文档错误还是其他错误?
答案 0 :(得分:6)
这不是错误。 Haddock将所有抽象类型打印为data
。想法是这样的:将类型保持为抽象,以便库作者可以在用户不知道(或不需要)的情况下更改内部表示。由于库作者可能会在newtype
和data
之间进行更改,并且用户不应该知道这一点,因此创建新类型的两种方式都必须以相同的方式在黑线区中呈现。
鉴于此,对我来说,两者都使用newtype
还是对两者都使用data
之间的选择对我来说似乎很清楚:data
的使用频率更高,对于初学者来说更容易理解。