sem update'
[cc1516.git] / sem.icl
1 implementation module sem
2
3 from Data.Map import :: Map
4 import Data.Either
5 import Control.Monad.State
6 import StdMisc
7
8 import AST
9 from parse import :: ParserOutput
10 from yard import :: Error
11
12 :: Gamma :== Map String Type
13 :: Env a :== State Gamma a
14
15 sem :: ParserOutput -> SemOutput
16 sem (Left p) = Left p
17 sem (Right (AST vd fd)) = undef
18 // foldM semVarDecl vd
19 // >>= \gamma ->foldM typecheck gamma fd
20
21 semVarDecl :: Env VarDecl
22 semVarDecl = undef
23
24
25
26