Prelude> let filter' p (x:xs) | p x = x : filter' p xs | otherwise = filter' p xs
Prelude> let filter' _ [] = []
Prelude> filter' odd [1..10]
*** Exception: <interactive>:1:5-21: Non-exhaustive patterns in function filter'
どのパターンが欠けていますか?
Prelude> :{
Prelude| let filter' p (x:xs)
Prelude| | p x = x : filter' p xs
Prelude| | otherwise = filter' p xs
Prelude| let filter' _ [] = []
Prelude| :}
<interactive>:2:5: parse error (possibly incorrect indentation)
ghciでこれを(構文的に)定義する慣用的な方法は何ですか? =
以下の句を定義する前に、これらの句のためにいくつのスペースを空ける必要があるかわかりません。:{}: とは何ですか、もっと良い方法はありますか?