Slide 73
Slide 73 text
{- Haskell -}
λ> [x * y | x <- [1..2], y <- [1..9]] --
リスト内包表記
[1,2,3,4,5,6,7,8,9,2,4,6,8,10,12,14,16,18]
it :: (Enum a, Num a) => [a]
λ> :{
λ| do -- do
記法(a.k.a.
モナド内包表記)
λ| x <- [1..2]
λ| y <- [1..9]
λ| return $ x * y
λ| :}
[1,2,3,4,5,6,7,8,9,2,4,6,8,10,12,14,16,18]
it :: (Num b, Enum b) => [b]
λ> :{
λ| do -- Maybe, Either
など任意のモナドで利用できる
λ| x <- Just 2
λ| y <- Just 3
λ| return $ x * y
λ| :}
Just 6
it :: Num b => Maybe b
73