diff options
Diffstat (limited to 'src/Utils.hs')
| -rw-r--r-- | src/Utils.hs | 36 |
1 files changed, 7 insertions, 29 deletions
diff --git a/src/Utils.hs b/src/Utils.hs index 7752a5f..785c644 100644 --- a/src/Utils.hs +++ b/src/Utils.hs @@ -30,18 +30,7 @@ data Config = Config { configUseREPL :: Bool } -type EnvMap = M.Map String AST - -data Env = Env { - envThis :: EnvMap, - envImported :: EnvMap -} - -emptyEnv :: Env -emptyEnv = Env { - envThis = M.empty, - envImported = M.empty -} +type Env = M.Map String AST data LState = LState { stateConfig :: Config, @@ -67,25 +56,14 @@ getConfig = do s <- get return $ stateConfig s -putThisEnv :: EnvMap -> LContext () -putThisEnv env = do - modify (\s -> let prevEnv = stateEnv s - in s { stateEnv = prevEnv { envThis = env } }) - -putImportedEnv :: EnvMap -> LContext () -putImportedEnv env = do - modify (\s -> let prevEnv = stateEnv s - in s { stateEnv = prevEnv { envImported = env } }) - -insertThisEnv :: String -> AST -> LContext () -insertThisEnv k v = do - env <- getEnv - putThisEnv $ M.insert k v (envThis env) +putEnv :: Env -> LContext () +putEnv env = do + modify (\s -> s { stateEnv = env }) -insertImportedEnv :: String -> AST -> LContext () -insertImportedEnv k v = do +insertEnv :: String -> AST -> LContext () +insertEnv k v = do env <- getEnv - putThisEnv $ M.insert k v (envImported env) + putEnv $ M.insert k v env incrementDepth :: LContext () incrementDepth = |
