假设我们有
mylist = [1..5]
很清楚
[1..5] :: (Num t, Enum t) => [t]
但为什么会这样呢
mylist :: [Integer]
而不是
mylist :: (Num t, Enum t) => [t]
在GHCi? (至少如:t
所述)
答案 0 :(得分:4)
由于dreaded monomorphism restriction,此特定示例默认为Integer
。
顺便说一下,GHCi中再次出现不:因为ghc-7.8默认使用-XNoMonomorphismRestriction
。