egison-3.8.0: Programming language with non-linear pattern-matching against non-free data

CopyrightSatoshi Egi
LicenseMIT
Safe HaskellNone
LanguageHaskell98

Language.Egison

Contents

Description

This is the top module of Egison.

Synopsis

Documentation

Eval Egison expressions

evalEgisonExpr :: Env -> EgisonExpr -> IO (Either EgisonError EgisonValue) Source #

eval an Egison expression

evalEgisonTopExpr :: Env -> EgisonTopExpr -> IO (Either EgisonError Env) Source #

eval an Egison top expression

evalEgisonTopExprs :: Env -> [EgisonTopExpr] -> IO (Either EgisonError Env) Source #

eval Egison top expressions

evalEgisonTopExprsTestOnly :: Env -> [EgisonTopExpr] -> IO (Either EgisonError Env) Source #

eval Egison top expressions and execute test expressions

runEgisonExpr :: Bool -> Env -> String -> IO (Either EgisonError EgisonValue) Source #

eval an Egison expression. Input is a Haskell string.

runEgisonTopExpr :: Bool -> Env -> String -> IO (Either EgisonError Env) Source #

eval an Egison top expression. Input is a Haskell string.

runEgisonTopExpr' :: Bool -> StateT [(Var, EgisonExpr)] EgisonM Env -> String -> IO (Either EgisonError (Maybe String, StateT [(Var, EgisonExpr)] EgisonM Env)) Source #

eval an Egison top expression. Input is a Haskell string.

runEgisonTopExprs :: Bool -> Env -> String -> IO (Either EgisonError Env) Source #

eval Egison top expressions. Input is a Haskell string.

runEgisonTopExprsNoIO :: Bool -> Env -> String -> IO (Either EgisonError Env) Source #

eval Egison top expressions without IO. Input is a Haskell string.

Load Egison files

loadEgisonLibrary :: Bool -> Env -> FilePath -> IO (Either EgisonError Env) Source #

load an Egison library

loadEgisonFile :: Bool -> Env -> FilePath -> IO (Either EgisonError Env) Source #

load an Egison file

Environment

initialEnv :: IO Env Source #

Environment that contains core libraries

initialEnvNoIO :: IO Env Source #

Environment that contains core libraries without IO primitives

Information

version :: Version Source #

Version number