リスト内包表記はリストのフィルタリング、変換、組み合わせを行う方法である。
左側でやりたいことを書いて、右側でリストを束縛(定義)する。
右側で定義した変数について、左側でやりたいことを定義する感じ。
例。
ghci>[ x*2 | x <- [1..10]] [2,4,6,8,10,12,14,16,18,20] ghci>[ snd x | x <- [(0, "hoge"), (1, "fuga"), (2, "bar")]] ["hoge","fuga","bar"]
こういう書き方はPHPとかJSとかやってきた人間からしたら初耳みたいなものなので、慣れていくしかない。