do記法
こちらのブログより引用した。
http://blog.netswitch.jp/2008/02/19/haskell-do-notation
test = do x <- [1, 2] y <- [1, 2] return [x, y] test = [1, 2] >>= (\x -> [1, 2] >>= (\y -> return [x, y]))
実行結果
Main> test [[1,1],[1,2],[2,1],[2,2]]
次のようなものを書いてみた。
testDo1 = do x <- [1,2] y <- [3,4] fun x y where fun x y = [x,y] testDo2 = do x <- [1,2] y <- [3,4] fun x y where fun x y = [[x,y]]
実行結果
Main> testDo1 [1,3,1,4,2,3,2,4] Main> testDo2 [[1,3],[1,4],[2,3],[2,4]]
今の自分にdo記法とかモナドはよくわからない。