Copyright | Satoshi Egi |
---|---|
License | MIT |
Safe Haskell | None |
Language | Haskell98 |
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
- evalTopExpr' :: Env -> EgisonTopExpr -> EgisonM (Maybe String, 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 -> [(Var, 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 #
evalTopExpr' :: Env -> EgisonTopExpr -> EgisonM (Maybe String, Env) Source #
evalExprDeep :: Env -> EgisonExpr -> EgisonM EgisonValue Source #
Array
Environment
recursiveBind :: Env -> [(Var, 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 #