| Copyright | Satoshi Egi | 
|---|---|
| License | MIT | 
| Safe Haskell | None | 
| Language | Haskell98 | 
Language.Egison.Core
Contents
Description
This module provides functions to evaluate various objects.
- evalTopExprs :: Env -> [EgisonTopExpr] -> EgisonM Env
 - evalTopExprsTestOnly :: Env -> [EgisonTopExpr] -> EgisonM Env
 - evalTopExprsNoIO :: Env -> [EgisonTopExpr] -> EgisonM Env
 - evalTopExpr :: Env -> EgisonTopExpr -> EgisonM Env
 - evalExpr :: Env -> EgisonExpr -> EgisonM WHNFData
 - evalExprDeep :: Env -> EgisonExpr -> EgisonM EgisonValue
 - evalRef :: ObjectRef -> EgisonM WHNFData
 - evalRefDeep :: ObjectRef -> EgisonM EgisonValue
 - evalWHNF :: WHNFData -> EgisonM EgisonValue
 - applyFunc :: Env -> WHNFData -> WHNFData -> EgisonM WHNFData
 - refArray :: WHNFData -> [EgisonValue] -> EgisonM WHNFData
 - arrayBounds :: WHNFData -> EgisonM WHNFData
 - recursiveBind :: Env -> [(String, EgisonExpr)] -> EgisonM Env
 - patternMatch :: Env -> EgisonPattern -> WHNFData -> Matcher -> EgisonM (MList EgisonM Match)
 - isEmptyCollection :: WHNFData -> EgisonM Bool
 - unconsCollection :: WHNFData -> MatchM (ObjectRef, ObjectRef)
 - unsnocCollection :: WHNFData -> MatchM (ObjectRef, ObjectRef)
 - tupleToList :: WHNFData -> EgisonM [EgisonValue]
 - collectionToList :: WHNFData -> EgisonM [EgisonValue]
 - packStringValue :: EgisonValue -> EgisonM Text
 
Egison code evaluation
evalTopExprs :: Env -> [EgisonTopExpr] -> EgisonM Env Source #
evalTopExprsTestOnly :: Env -> [EgisonTopExpr] -> EgisonM Env Source #
evalTopExprsNoIO :: Env -> [EgisonTopExpr] -> EgisonM Env Source #
evalTopExpr :: Env -> EgisonTopExpr -> EgisonM Env Source #
evalExprDeep :: Env -> EgisonExpr -> EgisonM EgisonValue Source #
Array
Environment
recursiveBind :: Env -> [(String, EgisonExpr)] -> EgisonM Env Source #
Pattern matching
patternMatch :: Env -> EgisonPattern -> WHNFData -> Matcher -> EgisonM (MList EgisonM Match) Source #
Collection
Tuple, Collection
tupleToList :: WHNFData -> EgisonM [EgisonValue] Source #
collectionToList :: WHNFData -> EgisonM [EgisonValue] Source #
Utiltiy functions
packStringValue :: EgisonValue -> EgisonM Text Source #