2

List モナドには がありreturn x = [x]ます。では、なぜ次の例で結果が ではないの[(["a", "b"], [2, 3])]でしょうか?

> pairs a b = do { x <- a; y <- b; return (x, y)}
> pairs ["a", "b"] [2,3]
[("a",2),("a",3),("b",2),("b",3)]
4

2 に答える 2