import Data.Map as Map
import Prelude hiding (lookup)
-
type Types = Map Ident Type
inList :: Eq a => a -> [a] -> Bool
typeCheckExp (ENeg e) = do
TInt <- typeCheckExp e
return TInt
-
+typeCheckExp (ENot e) = do
+ TBool <- typeCheckExp e
+ return TBool
typeCheckVar :: (MonadState Types m) => Ident -> m Type
typeCheckVar i = do
typeCheckStm (SPrint e) = do
typeCheckExp e
return NoType
-