型の最大値を取得するには、PreludeのmaxBound関数を使用する。::で型を指定する。
(C++で言うところのnumeric_limits::max())
main = do
print $ (maxBound :: Int)
print $ (maxBound :: Char)
2147483647
'\1114111'
maxBound関数を使用する型は、値が有限であることを示すBounded型クラスの要件を満たしていなければならない。HaskellのDoubleは有限と定義されていないため、maxBoundを使用することはできない。
参照:
Haskell : maxBound