リスト内包表記はとっても便利です。意味がないのですが、よく出される例は、こんな感じです。[(1,3),(1,4),(1,5),(2,3),(2,4),(2,5)]このように、このリスト内包表記は、あたかも二重のループであるかのように動きます。直すと以下のようになります。[(1,3),(1,4),(1,5),(2,3),(2,4),(2,5)]僕は、この意味をずっと理解できませんでした。モナドという箱の中から、中身を取り出します。モナドを理解するのは簡単です。リストから中身を取り出すとはどういうことなのか、さっぱり分かっていませんでした。昨日、新幹線の中で考えていて、ようやく理解できたので、書いておきます。以下のような関係があります。yこの規則に従って、上記の例を変形するとこうなります。定義を思い出しましょう。[x]よって、こう変形できます。上記の式を以下のように考えます。定義を思い出しましょう。変換すると、こうなります。変形すると次のようになります。いうわけで最後にこうなります。山本和彦id:kazu-yamamoto子育て真っ最中のHaskeller。Haskell月別アーカイブはてなブログをはじめよう!kazu-yamamotoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。