@@ -12,6 +12,7 @@ import qualified Data.Traversable as T
12import SourceSyntax.Annotation as A
12import SourceSyntax.Annotation as A
13import SourceSyntax.Expression
13import SourceSyntax.Expression
14import SourceSyntax.Module
14import SourceSyntax.Module
15+import SourceSyntax.PrettyPrint (pretty)
15import qualified SourceSyntax.Pattern as P
16import qualified SourceSyntax.Pattern as P
16import qualified SourceSyntax.Type as Type
17import qualified SourceSyntax.Type as Type
17import qualified SourceSyntax.Variable as Var
18import qualified SourceSyntax.Variable as Var
@@ -114,7 +115,10 @@ replace variable env v =
114rename :: Env -> Expr -> Either [Doc] Expr
115rename :: Env -> Expr -> Either [Doc] Expr
115rename env (A ann expr) =
116rename env (A ann expr) =
116 let rnm = rename env
117 let rnm = rename env
117− throw err = Left [ P.text $ "Error " ++ show ann ++ "\n" ++ err ]
118+ throw err = Left [ P.vcat [ P.text "Error" <+> pretty ann <> P.colon
118 format = Either.either throw return
122 format = Either.either throw return
119 renameType' environ = renameType (format . replace "variable" environ)
123 renameType' environ = renameType (format . replace "variable" environ)