すごいHaskell本

今日から4章に入ります。4章は再帰
再帰については『Scheme手習い』を読んでたときに散々やったので、今のところは何も引っかかるところなくサクサク進みます。

1つだけ疑問点。引数の値を利用していないパターンで、アンダースコアではなく a などの変数を使っているところがあるのはなぜなのだろう。例えば56ページの elem' 関数とか。

elem' :: (Eq a) => a -> [a] -> Bool
elem' a [] = False
elem' a (x:xs)
    | a == x    = True
    | otherwise = a `elem'` xs

2行目で、2つ目の引数が空リストならば1つめの引数が何であろうと無条件でFalseを返しています。こういう場合にも、引数にaなどの文字を使っているのは、なにか慣習があるからのだろうか。