aboutsummaryrefslogtreecommitdiffstats
path: root/src/Utils.hs
diff options
context:
space:
mode:
authorJan Tuomi <jans.tuomi@gmail.com>2022-12-06 19:00:21 +0200
committerJan Tuomi <jans.tuomi@gmail.com>2022-12-06 19:00:21 +0200
commit82562a35e8f0706a812e3aefa8e837b88a1a0d95 (patch)
tree11df3c02428db48848ecc9720cd6d7fa33e54128 /src/Utils.hs
parent9ea6fae21ffec1f092bd272fa34330c887947c36 (diff)
Combine envThis and envImported
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 =