局所変数
こういう書き方も出来るんだ。case や let 〜 in ではよくやるけど、where でも出来るんだ。左辺は関数名と引数、右辺は式だとばかり思っていた。例示したコードは適当。
foo xs = h * (-1): ts where (h:ts) = xs -- ここ
where でも出来るのならと思って Top-level で試したら、こちらも同様だった。使い道は? と尋ねられても困るけど。
(x:xs) = [1, 2, 3, 4] -- x -> 1 -- xs -> [2, 3, 4]