diff options
| author | aarne <aarne@cs.chalmers.se> | 2008-06-27 11:59:03 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2008-06-27 11:59:03 +0000 |
| commit | 73e401cee21fa61dcf9900d8d2b40ddd39f4e612 (patch) | |
| tree | c5569db477fd0281162fd7ba29cf8e60d24b364e /devel/compiler/Env.hs | |
| parent | 64d2a981a99c8f48f85c4efd0cecd1db1e5ce93a (diff) | |
updated synopsis, removed GF/devel/
Diffstat (limited to 'devel/compiler/Env.hs')
| -rw-r--r-- | devel/compiler/Env.hs | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/devel/compiler/Env.hs b/devel/compiler/Env.hs deleted file mode 100644 index 7e1d23983..000000000 --- a/devel/compiler/Env.hs +++ /dev/null @@ -1,56 +0,0 @@ -module Env where - -import AbsSrc -import AbsTgt - -import STM -import qualified Data.Map as M - -data Env = Env { - values :: M.Map Ident Val, - types :: M.Map Ident Type, - opers :: M.Map Ident Exp, - typedefs :: M.Map Ident Type, - parsizes :: M.Map Type Int, - partypes :: M.Map Type [Exp], - parvals :: M.Map Exp Val, - vars :: M.Map Ident Val ---- constrs :: M.Map Ident ([Int] -> Int) - } - -emptyEnv = Env M.empty M.empty M.empty M.empty M.empty M.empty M.empty M.empty - -lookEnv :: (Show i, Ord i) => (Env -> M.Map i a) -> i -> STM Env a -lookEnv field c = do - s <- readSTM - maybe (raise $ "unknown " ++ show c) return $ M.lookup c $ field s - -addVal :: Ident -> Val -> STM Env () -addVal c v = updateSTM (\env -> (env{values = M.insert c v (values env)})) - -addType :: Ident -> Type -> STM Env () -addType c v = updateSTM (\env -> (env{types = M.insert c v (types env)})) - -addOper :: Ident -> Exp -> STM Env () -addOper c v = updateSTM (\env -> (env{opers = M.insert c v (opers env)})) - -addTypedef :: Ident -> Type -> STM Env () -addTypedef c v = updateSTM (\env -> (env{typedefs = M.insert c v (typedefs env)})) - -addParsize :: Type -> Int -> STM Env () -addParsize c v = updateSTM (\env -> (env{parsizes = M.insert c v (parsizes env)})) - -addPartype :: Type -> [Exp] -> STM Env () -addPartype c v = updateSTM (\env -> (env{partypes = M.insert c v (partypes env)})) - -addParVal :: Exp -> Val -> STM Env () -addParVal c v = updateSTM (\env -> (env{parvals = M.insert c v (parvals env)})) - ----addEnv :: (Env -> M.Map Ident a) -> Ident -> a -> STM Env () ----addEnv field c v = updateSTM (\env -> (env{field = M.insert c v (field env)},())) - -addVar :: Ident -> STM Env () -addVar x = do - s <- readSTM - let i = M.size $ vars s - updateSTM (\env -> (env{vars = M.insert x (VArg $ toInteger i) (vars env)})) |
