类型推断中的Haskell文字

时间:2015-08-26 17:13:40

标签: haskell type-inference ghci type-systems

我们说我有一个函数($10)

现在,由于10属于Num a => a类型,($10)肯定属于Num a => (a -> b) -> b类型,GHCi确认了这一点。

但是当我说let f = ($10)时,GHC会将f的类型推断为(Integer -> b) -> b,就好像let - 分配推断了一些额外的&#39}。使用文字的信息。

这是否意味着GHC的类型推断强制文字的具体类型?

但如果是这样,为什么:t ($10)会返回Num a => (a -> b) -> b

f :: Num a => (a -> b) -> b
f = ($10)

typechecks,f (+0.1)产生正确的结果,而

g = ($10)
使用g (+0.1)调用的

失败,期待Integer

0 个答案:

没有答案