なんだこれは

はてなダイアリーから移転しました。

Intの範囲

64 bit CPUで、Haskell の Int型の範囲は - 2^63 <= x <= 2^63 - 1 らしい。
しかし、2自体の型は、

2 :: Num a => a

なので範囲を調べるために

let two = 2 :: Int

して、

two^63

を計算すると、負の値が得られた。

  -9223372036854775808

これは、-2^63に等しいようだ。