@@ -9,6 +9,7 @@ import qualified Reporting.Annotation as A
9import qualified Reporting.Error.Canonicalize as Canonicalize
9import qualified Reporting.Error.Canonicalize as Canonicalize
10import qualified Reporting.Error.Syntax as Syntax
10import qualified Reporting.Error.Syntax as Syntax
11import qualified Reporting.Error.Type as Type
11import qualified Reporting.Error.Type as Type
12+import qualified Reporting.Region as R
14-- ALL POSSIBLE ERRORS
15-- ALL POSSIBLE ERRORS
@@ -21,17 +22,37 @@ data Error
22-- TO STRING
23-- TO STRING
24−toString :: A.Located Error -> String
25+toString :: String -> String -> A.Located Error -> String
25−toString (A.A region err) =
26+toString location source (A.A region err) =
26− case err of
29+ case err of
27− Syntax syntaxError ->
30+ Syntax syntaxError ->
28− error "TODO" syntaxError
32+ , Syntax.toHint syntaxError
30− Canonicalize canonicalizeError ->
35+ Canonicalize canonicalizeError ->
31− Canonicalize.toString region canonicalizeError
37+ , Canonicalize.toHint canonicalizeError
33− Type typeError ->
40+ Type typeError ->
34− Type.toString region typeError
41+ ( "TYPE ERROR"
42+ , Type.toHint typeError
46+ 4 + length tag + length location + 4
50+ ++ replicate (max 1 (80 - usedSpace)) '-'
51+ ++ " " ++ location ++ " --"
54+ ++ R.select region source ++ "\n"