1
0
forked from GitHub/gf-core
Files
gf-core/transfer/run_core.hs
2005-11-25 16:36:19 +00:00

27 lines
749 B
Haskell

import Transfer.InterpreterAPI
import Data.List (partition, isPrefixOf)
import System.Environment (getArgs)
interpretLoop :: Env -> IO ()
interpretLoop env = do
line <- getLine
r <- evaluateString env line
putStrLn r
interpretLoop env
runMain :: Env -> IO ()
runMain env = do
r <- evaluateString env "main"
putStrLn r
main :: IO ()
main = do args <- getArgs
let (flags,files) = partition ("-" `isPrefixOf`) args
env <- case files of
[f] -> loadFile f
_ -> fail "Usage: run_core [-i] <file>"
if "-i" `elem` flags
then interpretLoop env
else runMain env