summaryrefslogtreecommitdiff
path: root/src/Transfer/InterpreterAPI.hs
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2008-06-26 21:05:50 +0000
committeraarne <aarne@cs.chalmers.se>2008-06-26 21:05:50 +0000
commita1da4b7c4808b3da1a0dba5a85b5e35134d9222c (patch)
treee4210dc3161ffa1114ad77431458a7a4b1529956 /src/Transfer/InterpreterAPI.hs
parentfb1d9b7d2c3c8261fc5a2ce3698e6749458b207a (diff)
removed Transfer interpreter
Diffstat (limited to 'src/Transfer/InterpreterAPI.hs')
-rw-r--r--src/Transfer/InterpreterAPI.hs39
1 files changed, 0 insertions, 39 deletions
diff --git a/src/Transfer/InterpreterAPI.hs b/src/Transfer/InterpreterAPI.hs
deleted file mode 100644
index 2fe04e8f3..000000000
--- a/src/Transfer/InterpreterAPI.hs
+++ /dev/null
@@ -1,39 +0,0 @@
-module Transfer.InterpreterAPI (Env, builtin,
- load, loadFile,
- evaluateString, evaluateExp
- ) where
-
-import Transfer.Core.Abs
-import Transfer.Core.Lex
-import Transfer.Core.Par
-import Transfer.Core.Print
-import Transfer.Interpreter
-import Transfer.ErrM
-
--- | Read a transfer module in core format from a string.
-load :: Monad m =>
- String -- ^ Input source name, for error messages.
- -> String -- ^ Module contents.
- -> m Env
-load n s = case pModule (myLexer s) of
- Bad e -> fail $ "Parse error in " ++ n ++ ": " ++ e
- Ok m -> return $ addModuleEnv builtin m
-
--- | Read a transfer module in core format from a file.
--- Fails in the IO monad if there is a problem loading the file.
-loadFile :: FilePath -> IO Env
-loadFile f = readFile f >>= load f
-
--- | Read a transfer expression from a string and evaluate it.
--- Returns the result as a string.
-evaluateString :: Monad m => Env -> String -> m String
-evaluateString env s =
- case pExp (myLexer s) of
- Bad e -> fail $ "Parse error: " ++ e
- Ok e -> do
- let v = eval env e
- return $ printValue v
-
--- | Evaluate an expression in the given environment.
-evaluateExp :: Env -> Exp -> Exp
-evaluateExp env exp = valueToExp $ eval env exp