@@ -2,6 +2,7 @@
22module Reporting.Error.Canonicalize where
33
44import Control.Arrow (second)
5+import qualified Data.Char as Char
56import Text.PrettyPrint.ANSI.Leijen (indent, text)
67
78import qualified AST.Module.Name as ModuleName
@@ -251,14 +252,18 @@ toReport localizer err =
251252
252253argMismatchReport :: String -> Var.Canonical -> Int -> Int -> Report.Report
253254argMismatchReport kind var expected actual =
254− Report.report
255− "ARGUMENT"
256− Nothing
257− ( kind ++ " " ++ Var.toString var ++ " has too "
255+ let
256+ numArgs =
257+ "too "
258258 ++ (if actual < expected then "few" else "many")
259− ++ " arguments."
260− )
261− (text ("Expecting " ++ show expected ++ ", but got " ++ show actual ++ "."))
259+ ++ " arguments"
260+ in
261+ Report.report
262+ (map Char.toUpper numArgs)
263+ Nothing
264+ ( kind ++ " " ++ Var.toString var ++ " has " ++ numArgs ++ "."
265+ )
266+ (text ("Expecting " ++ show expected ++ ", but got " ++ show actual ++ "."))
262267
263268
264269extractSuggestions :: Error -> Maybe [String]