Enum型クラス
要素が連続する値を持つ型
succやpredで隣り合う要素にアクセスできる
toEnumやfromEnumで整数と変換可能である
[1..10]のような記法が使えるのは、この型クラスのinstanceの型
https://hackage.haskell.org/package/base-4.19.0.0/docs/Prelude.html#t:Enum
/mrsekut-book-4774183903/174
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
-- 他の関数は自動的に導出される
enumFrom
[x..]
enumFromThen
[x1, x2..]
enumFromTo
[x..y]
enumFromThenTo
[x1,x2,..y]