こんにちは皆さん、私は比較的 Haskell に詳しくなく、まだ学習中ですが、なぜこれが機能しないのですか?
filterFirst :: (a -> Bool) -> [a] -> [a]
filterFirst p xs = delete (not . p) (filter (not . p) xs)
端末に次のエラーメッセージが表示されます。
ERROR "FirstLiterate.lhs":58 - Type error in application
*** Expression : delete (not . p) (filter (not . p) xs)
*** Term : not . p
*** Type : a -> Bool
*** Does not match : a
*** Because : unification would give infinite type
そのため、型が私の定義の型と一致しないことがわかりました。変更する必要がないようにこれを変更するにはどうすればよいですか (a -> Bool)。