【发布时间】:2011-08-18 21:10:57
【问题描述】:
我写这个有什么区别?
data Book = Book Int Int
对
newtype Book = Book (Int, Int) -- "Book Int Int" is syntactically invalid
【问题讨论】:
-
你应该做一些搜索,这个问题已经回答了。 stackoverflow.com/questions/2649305/…
-
也相关:用于新类型:stackoverflow.com/questions/991467/…
-
请注意,
newtype Book = Book Int Int无效。但是,您可以拥有newtype Book = Book (Int, Int),如下面的 dons 所述。 -
除了@EdwardKMETT 的评论,我认为
Book Int Int在语义上无效 因为newtype只能有一个 值构造函数和只有一个字段。Book Int Int有两个字段。
标签: haskell types type-systems newtype