これがモナド
main = putStrLn $ unlines $ do
v1 <- [1, 2, 3]
v2 <- f v1
v3 <- g v2
f v3
f :: Integer -> [String]
f x = [show x, show x]
g :: String -> [Integer]
g x = [read x, read x]
よくわからん。
なんか、もうすこしで分かりそうなんだが。。。うーん。。。
イコールを束ねてガッとした感じか?わからん!