本地繫結

列表推導可以引入變數的本地繫結來儲存一些臨時值:

[(x,y) | x <- [1..4], let y=x*x+1, even y]    -- [(1,2),(3,10)]

用技巧可以達到同樣的效果,

[(x,y) | x <- [1..4], y <- [x*x+1], even y]   -- [(1,2),(3,10)]

像往常一樣,列表推導中的 let 是遞迴的。但生成器繫結不是,它允許陰影

[x | x <- [1..4], x <- [x*x+1], even x]       -- [2,10]