为什么从无点源代码中输入推断功能失调?

时间:2015-03-10 00:17:52

标签: haskell

为了测试Haskell上的type inference我在下面用pointfree样式编写了简单的函数别名,然后尝试将它们的源文件加载到GHCi 7.8.3。为什么它会因add'compare'而被打破?

id' = id

GHCi> :t id'
GHCi> id' :: a -> a

add' = (+)

GHCi> :t add'
GHCi> add' :: Integer -> Integer -> Integer

compare' = compare

GHCi> type variable is ambiguous

如果我直接在GHCi上输入它们会很好。

GHCi> let add' = (+)

GHCi> let compare' = compare

或将源代码更改为pointful样式,例如

add' x y = x + y

compare' x y = compare x y 

解决方案

将指令{-# LANGUAGE NoMonomorphismRestriction #-}添加到受影响的源文件中。

0 个答案:

没有答案