0
コンテキストの場合、偶数番目の位置にリストの要素を出力する単純な関数を作成しようとしています。シングルトンリスト、等価/エラーステートメントに一致するパターン
>evens [] = []
>evens [x] = x
>evens (x, y, xs) = x : evens xs
なぜコンパイル時にタイプエラーが発生するのですか?
私は二行目を次のように変更します
>evens [x] = x:[]
とすべてが、その後絶対に正常に動作します。
learnyouahaskell.comは、パターンマッチングでは、(x:[])は[x]として書き直すことができますが、これは私の関数定義でなぜ失敗するのですか?