如果我将var赋给maxBound:
let bInt = maxBound
评估bInt
版画()
但如果我输入bInt
bInt :: Int
prints : 9223372036854775807
为什么在我输入
之前不会评估bInt (bInt :: Int) ?
答案 0 :(得分:4)
maxBound
是Bounded
类型类中的函数。默认情况下,GHCi似乎选择()
的实例,返回()
。您可以通过添加类型签名来强制它使用其他实例。
let bInt :: Int; bInt = maxBound
bInt -- 9223372036854775807
let x = maxBound
x :: () -- ()
x :: Bool -- True
x :: Char -- '\1114111'