packages feed

egison-2.1.0: 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
  _ <- loadLibraries env
  _ <- runIOThrows (do topExprs <- liftThrows (readTopExprList program)
                       liftM concat $ mapM (evalTopExpr env) topExprs)
  _ <- runIOThrows $ evalTopExpr env $ Execute args
  return ()