【发布时间】:2017-04-11 02:06:26
【问题描述】:
我正在使用 Haskell 并尝试编写以下内容:
data Scale s = Scale s s
但是,我想让s 必须是 Num 类型类的东西,例如 Int 或 Double。使用 Haskell 和 GHC 可以做到吗?
【问题讨论】:
-
这是可能的,但几乎绝不是您应该做的。将
Num s约束只放在实际需要它的函数上通常要好得多。 -
Alec,我所有使用 scale 的函数都需要 num 约束。
-
@AviCaspe 有很好的理由不这样做。答案包含一个,但还有其他。你真的应该考虑把约束放在需要的地方。