aboutsummaryrefslogtreecommitdiffstats
path: root/src/Interpreter.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Interpreter.hs')
-rw-r--r--src/Interpreter.hs32
1 files changed, 0 insertions, 32 deletions
diff --git a/src/Interpreter.hs b/src/Interpreter.hs
index aa61be3..ce68270 100644
--- a/src/Interpreter.hs
+++ b/src/Interpreter.hs
@@ -46,21 +46,6 @@ traverseAndReplace param arg ast@AST { astNode = ASTHashMap hmap } =
.> asPairs .> M.fromList }
traverseAndReplace _ _ other = other
-traverseAndRenameSymbol :: String -> String -> AST -> AST
-traverseAndRenameSymbol name1 name2 ast@AST { astNode = ASTSymbol sym }
- | sym == name1 = ast { astNode = ASTSymbol name2 }
- | otherwise = ast
-traverseAndRenameSymbol name1 name2 ast@AST { astNode = ASTFunctionCall body } =
- ast { astNode = ASTFunctionCall $ (map (traverseAndRenameSymbol name1 name2) body) }
-traverseAndRenameSymbol name1 name2 ast@AST { astNode = ASTVector vec } =
- ast { astNode = ASTVector $ (map (traverseAndRenameSymbol name1 name2) vec) }
-traverseAndRenameSymbol name1 name2 ast@AST { astNode = ASTHashMap hmap } =
- ast { astNode = ASTHashMap $ M.assocs hmap
- $> L.concatMap (\(a, b) -> [a, b])
- .> map (traverseAndRenameSymbol name1 name2)
- .> asPairs .> M.fromList }
-traverseAndRenameSymbol _ _ other = other
-
foldSymValPairs :: [(String, AST)] -> AST -> AST
foldSymValPairs [] body = body
foldSymValPairs ((sym, val):rest) body =
@@ -227,23 +212,6 @@ evaluateImport asts = do
stateEnv = emptyEnv { envImported = builtinEnv }
}
case args of
- -- qualified import
- [AST { astNode = ASTSymbol qualifier }, AST { astNode = ASTString path }] -> do
- LState { stateEnv = evaledRawEnv } <- lift $ execStateT (runScriptFile path) initialState
- let exportedEnvMap = envThis evaledRawEnv
-
- let mangle k = qualifier ++ ":" ++ k
- let mangledExportsMap = M.mapKeys mangle exportedEnvMap
- let nonMangledKeys = M.keys exportedEnvMap
- let callWithAll (f:fs) x = callWithAll fs (f x)
- callWithAll [] x = x
- let traverseAndReplaceAllKeys = map (\k -> traverseAndRenameSymbol k (mangle k)) nonMangledKeys
- let mangledTraversedMap = M.map (\a -> (callWithAll traverseAndReplaceAllKeys a)) mangledExportsMap
- env <- getEnv
- let importedEnv = envImported env
- putImportedEnv $ M.union importedEnv mangledTraversedMap
- return $ importAst { astNode = ASTUnit }
-
-- non-qualified import
[AST { astNode = ASTString path }] -> do
LState { stateEnv = evaledRawEnv } <- lift $ execStateT (runScriptFile path) initialState