List とモナドと do 記法と内包表記
>そういえば昨夜ふと思ったのだが、 Haskell における List の内包表記というのは do 記法で代替できる?
>
>たとえば、
>
>[ (x, y) | x <- [1..10], mod x 2 == 0, y <- [1..10], mod y 2 == 0 ]
>
>は、
>
>do { x <- [1..10]; guard $ mod x 2 == 0; y <- [1..10]; guard $ mod y 2 == 0; return (x, y) }
>
>と同等。
>
>一般に、
>
