egison-2.3.8: etc/template.hs
module Main where
import Language.Egison.Core -- Egison Interpreter
import Language.Egison.Types -- Egison data types
--import Language.Egison.Variables -- Egison variable operations
--import Language.Egison.Parser -- Egison variable operations
--import Control.Monad (when)
import Control.Monad.Error
--import System.IO
import System.Environment
main :: IO ()
main = do
args <- getArgs
env <- primitiveBindings
ret1 <- runIOThrows $ liftM concat $ mapM (evalTopExpr env) topExprs
case ret1 of
Just errMsg -> putStrLn errMsg
_ -> do
ret2 <- runIOThrows $ evalTopExpr env $ Execute args
case ret2 of
Just errMsg -> putStrLn errMsg
_ -> return ()