X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=sem.dcl;h=2b13436634edc08c5e11765533dd8d4d7b12a448;hb=483bcde4dbb75d1901cffad6cc2c45307b7e90a2;hp=a2bcd572e08683f42b0d5d8d953dc98c4157a8c7;hpb=c13e6ac6caa1b0d3578caf9310303920d47cf85f;p=cc1516.git diff --git a/sem.dcl b/sem.dcl index a2bcd57..2b13436 100644 --- a/sem.dcl +++ b/sem.dcl @@ -2,18 +2,15 @@ definition module sem import qualified Data.Map as Map from Data.Either import :: Either -from AST import :: AST, :: Pos, :: Type +from AST import :: AST, :: Pos, :: Type, :: FieldSelector, :: Op2 from StdOverloaded import class toString :: SemError - = ParseError Pos String - | UnifyError Pos Type Type - | UnifyErrorStub Type Type - | Error String :: Gamma :: SemOutput :== Either [SemError] (AST, Gamma) +:: Constraints :== [(Type, Type)] instance toString SemError instance toString Gamma -sem :: AST -> SemOutput +sem :: AST -> Either [SemError] AST