Enum型クラス
要素が連続する値を持つ型
[1..10]のような記法が使えるのは、この型クラスのinstanceの型
code:hs
class Enum a where
succ, pred :: a -> a
toEnum :: Int -> a
fromEnum :: a -> Int
enumFrom, enumFromThen, enumFromTo, enumFromThenTo :: a -> a -> a 例
code:hs
instance Enum Bool where
toEnum 0 = False
toEnum 1 = True
fromEnum False = 0
fromEnum True = 1
-- 他の関数は自動的に導出される
[x..]
[x1, x2..]
[x..y]
[x1,x2,..y]