hs-- [ 式 | リストの要素値 <- リスト, 条件]
[ n | n <- [1..10], n `mod` 2 /= 0 ] -- [1,3,5,7,9]
hs[x | x <- [1..10], even x] -- [2,4,6,8,10]
hs[ (x, y) | x <- [1,2,3], y <- [11,12] ]
-- [(1,11),(1,12),(2,11),(2,12),(3,11),(3,12)]
hs-- リスト >>= \リストの要素値 -> if 条件 then [式] else []
ns >>= \n -> if n `mod` p /= 0 then [n]
hsdo n <- ns
if n `mod` p /= 0 then [n] else []