【发布时间】:2011-10-16 14:05:30
【问题描述】:
我正在学习 Haskell,并希望在某些构造函数中强制使用正整数 (1,2,3, ...),但我似乎只找到了 'Int' 和 'Integer' 数据类型。
我可以使用规范的
data Nat = Zero | Succ Nat
但后来我不能用 1、4、... 来表示它们。
所以我问,有没有办法做到这一点? (这就像在 C 中使用 'unsigned')
提前致谢。
编辑:正如 C. A. McCann 所解释的那样,我将把它隐藏在一个模块中。另外,我必须添加以下链接:http://haskell.org/haskellwiki/Smart_constructors 以获取有关该主题的摘要。感谢您抽出宝贵时间回答!
【问题讨论】:
-
我还是更喜欢你的方式。尽管您不能使用那种含糖的语法,但您仍然可以使用常规的旧函数来生成列表。
标签: haskell types integer unsigned