repositories
/
cc1516.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Working Monad transformer except for Clean not finding an existing instance
[cc1516.git]
/
sem.dcl
diff --git
a/sem.dcl
b/sem.dcl
index
be207dd
..
b34bbc3
100644
(file)
--- a/
sem.dcl
+++ b/
sem.dcl
@@
-1,10
+1,17
@@
definition module sem
from Data.Either import :: Either
definition module sem
from Data.Either import :: Either
-from AST import :: AST
-from lex import :: Error
-from parse import :: ParserOutput
+from AST import :: AST, :: Pos, :: Type
+from StdOverloaded import class toString
-:: SemOutput :== Either Error AST
+:: SemError
+ = ParseError Pos String
+ | UnifyError Pos Type Type
+ | UnifyErrorStub Type Type
+ | Error String
+:: SemOutput :== Either [SemError] AST
-sem :: ParserOutput -> SemOutput
+
+instance toString SemError
+
+sem :: AST -> SemOutput