私は現在、Haskell で再帰を使用する方法を学んでおり、整数のリスト内のすべての要素を調べてそれらを否定する方法を理解しようとしています。これまでのところ、これを行うことはできますが、リストの最後の要素に対してのみ行うことができるため、エラーが最後の行にあることがわかります。最後の要素だけでなく、リスト内のすべての要素を調べる最良の方法は何ですか?
negation :: [Int] -> [Int]
negation [] = []
negation [n] = [-n]
negation(x:xs) = negation xs