我可以像文字似乎可以“返回” Num a一样“返回” Num a吗?

时间:2019-07-10 17:38:36

标签: haskell

在ghci中,如果我这样做

Prelude> :t 5
Prelude> 5 :: Num a => a

但是,如果我分配5,我将得到Integer作为类型:

Prelude> let f = 5
Prelude> t: f
Prelude> f :: Integer

根据我的理解,5是Num a => a允许的事实是快乐地坐在任何数学表达式中(例如5 + 5.0)。我想我是很好奇这是否是Haskell的法宝,或者我是否可以使变量f的行为方式相同,以便可以执行f + 5.0。我已经尝试过以下方法,但是没有运气:

let f = 10 :: Num a => a

f + 5.0仍然给我一个错误。

0 个答案:

没有答案