【发布时间】:2022-01-01 19:18:48
【问题描述】:
所以我在Haskell中做了一些练习,我认为int2nat的类型在
int2nat :: (Eq t, Num t) => t -> Nat
int2nat 0 = Zero
int2nat n = Succ (int2nat (n-1)
应该是int2nat :: (Num t) => t -> Nat。
有人可以解释为什么不是这样,以及为什么附加的Eq t 是正确的吗?
【问题讨论】:
-
欢迎来到 StackOverflow。请始终在您的问题中使用代码而不是代码图片,因为这样会让其他人更容易阅读和测试您的代码。
标签: haskell types functional-programming typeclass