packages feed

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 ()