【发布时间】:2011-11-10 06:59:16
【问题描述】:
我想创建一个新的整数类型,它限制在某个范围内。我试过了:
data PitchClass = PC Int deriving (Ord, Eq, Show)
instance Bounded PitchClass where
minBound = PC 0
maxBound = PC 11
但是,我想要的是一些会失败的东西,如果像这样
PC 12
或
PC (-1)
已尝试。
在您希望对创建新类型施加约束的情况下,这是一种通用方法,其中值构造函数不是从模块中导出,而是导出返回类型实例并执行约束检查的函数?
【问题讨论】: