プログラムに問題があり、問題を特定することができました。私はそれをこのより単純な問題に減らすことができました。私が機能を持っているとしましょう
fn:: String -> String
fn (x:xs)
| null (x:xs) = "empty"
| otherwise = "hello"
ランダムなものを入力すると戻ります"hello"
が、そうすると、
fn ""
非網羅的なパターンエラーが発生します。「」は空のリストであると想定されているので[]
、最初のパターンと一致して返されるべきではありません"empty"
か?