最新

val it : α → α = fun

<<  2005/09  >>

2005/09/06 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) }

と同等。

一般に、