haskell の do 記法についてまとめてみました。 haskell 本でそれまで関数プログラミングスタイルな話が続いていたのに do 記法が出てきた途端関数プログラミングっぽくなくなってしまったので。 具体例から考えてみます。以下のコードは一体何をやっているのか。 main = do putStrLn "Hello, what your name?" name <- getLine putStrLn ("Wellcome!! "++name) これを do を使わずに書くと main = putStrLn "Hello, what your name?">>= (\x->getLine >>= (\name->putStrLn ("Wellcome!!"++name))) となる。 なんじゃこりゃ。 とりあえず do 記法はネストした >>= の記述を簡略化したものといえそう。 これ