X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=sem.dcl;h=a2bcd572e08683f42b0d5d8d953dc98c4157a8c7;hb=b2e209f5c3b3d334dde4c93e8e86f4334428e802;hp=5c01ba0c5dcbec8ecb3394e5e9a157ce779674ac;hpb=df7fbaaf21817473f51525a2c8f03b0a5a37b823;p=cc1516.git diff --git a/sem.dcl b/sem.dcl index 5c01ba0..a2bcd57 100644 --- a/sem.dcl +++ b/sem.dcl @@ -1,15 +1,19 @@ definition module sem +import qualified Data.Map as Map from Data.Either import :: Either from AST import :: AST, :: Pos, :: Type +from StdOverloaded import class toString :: SemError = ParseError Pos String | UnifyError Pos Type Type + | UnifyErrorStub Type Type | Error String -:: SemOutput :== Either [SemError] AST - +:: Gamma +:: SemOutput :== Either [SemError] (AST, Gamma) instance toString SemError +instance toString Gamma sem :: AST -> SemOutput