aboutsummaryrefslogtreecommitdiffstats
path: root/src/Utils.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Utils.hs')
-rw-r--r--src/Utils.hs36
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 =