Haskell コンパイラは、次の関数でエラーをスローします。
balancedMax :: Int -> Int -> Int
balancedMax -1 _ = -1
balancedMax _ -1 = -1
balancedMax a b = max a b
記号を反転すると問題が解決します。
balancedMax :: Int -> Int -> Int
balancedMax 1 _ = -1
balancedMax _ 1 = -1
balancedMax a b = max a b
ネガでパターン マッチングが失敗するのはなぜですか?また、クリーンな回避策は何ですか?