All expression can now be typed.
[cc1516.git] / sem.dcl
diff --git a/sem.dcl b/sem.dcl
index 0332076..e981361 100644 (file)
--- a/sem.dcl
+++ b/sem.dcl
@@ -2,13 +2,15 @@ definition module sem
 
 import qualified Data.Map as Map
 from Data.Either import :: Either
-from AST import :: AST, :: Pos, :: Type, :: FieldSelector
+from AST import :: AST, :: Pos, :: Type, :: FieldSelector, :: Op2
 from StdOverloaded import class toString
 
 :: SemError 
        = ParseError Pos String 
        | UnifyError Pos Type Type 
     | FieldSelectorError Pos Type FieldSelector 
+       | OperatorError Pos Op2 Type
+    | UndeclaredVariableError Pos String
        | Error String
 :: Gamma
 :: SemOutput :== Either [SemError] (AST, Gamma)