@@ -0,0 +1,41 @@
1+module Language.Reflection.Errors
3+import Language.Reflection
5+data SourceLocation = FileLoc String Int
9+ | CantUnify Bool TT TT Err (List (TTName, TT)) Int
10+ -- Int is 'score' - how much we did unify
11+ -- Bool indicates recoverability, True indicates more info may make
12+ -- unification succeed
13+ | InfiniteUnify TTName TT (List (TTName, TT))
14+ | CantConvert TT TT (List (TTName, TT))
15+ | UnifyScope TTName TTName TT (List (TTName, TT))
16+ | CantInferType String
17+ | NonFunctionType TT TT
19+ | NoSuchVariable TTName
21+ | NotInjective TT TT TT
23+ | CantResolveAlts (List String)
27+ | Inaccessible TTName
28+ | NonCollapsiblePostulate TTName
29+ | AlreadyDefined TTName
30+ | ProofSearchFail Err
32+ | At SourceLocation Err
33+ | Elaborating String TTName Err
34+ | ProviderError String
36+data ErrorReport = Message String
41+-- Error reports become functions in List (String, TT) -> Err -> ErrorReport