3
沒有評估如果我給你一個變種,以maxBound:功能在GHCI
let bInt = maxBound
的bInt
打印()
,但如果我鍵入賓特
bInt :: Int
prints : 9223372036854775807
爲什麼賓特沒有評估評價直到我輸入
bInt (bInt :: Int) ?
沒有評估如果我給你一個變種,以maxBound:功能在GHCI
let bInt = maxBound
的bInt
打印()
,但如果我鍵入賓特
bInt :: Int
prints : 9223372036854775807
爲什麼賓特沒有評估評價直到我輸入
bInt (bInt :: Int) ?
maxBound
是Bounded
類型類中的函數。默認情況下,GHCi似乎選擇()
的實例,該實例返回()
。您可以通過添加類型簽名來強制它使用另一個實例。
let bInt :: Int; bInt = maxBound
bInt -- 9223372036854775807
let x = maxBound
x ::() --()
x :: Bool -- True
x :: Char -- '\1114111'