功能未在GHCI中评估

时间:2015-05-10 17:48:21

标签: haskell ghci

如果我将var赋给maxBound:

let bInt = maxBound

评估bInt版画()

但如果我输入bInt

bInt :: Int
prints : 9223372036854775807

为什么在我输入

之前不会评估
bInt (bInt :: Int) ?

1 个答案:

答案 0 :(得分:4)

maxBoundBounded类型类中的函数。默认情况下,GHCi似乎选择()的实例,返回()。您可以通过添加类型签名来强制它使用其他实例。

let bInt :: Int; bInt = maxBound
bInt -- 9223372036854775807

let x = maxBound
x :: () -- ()
x :: Bool -- True
x :: Char -- '\1114111'