- evaluateExp :: TCExp -> EvaluationMonad Value
- evaluateDecl :: TCDecl -> EvaluationMonad [(Name, Value)]
- evaluateFile :: [TCModule] -> EvaluationMonad [(Name, Value)]
- getBoundNames :: EvaluationMonad [Name]
- addToEnvironment :: EvaluationMonad [(Name, Value)] -> EvaluationMonad EvaluationState
- initEvaluator :: EvaluationState
- runFromStateToState :: EvaluationState -> EvaluationMonad a -> (a, EvaluationState)
- type EvaluationMonad = LazyEvalMonad EvaluationState
- runEvaluator :: EvaluationState -> EvaluationMonad a -> a
- data EvaluationState
Documentation
evaluateDecl :: TCDecl -> EvaluationMonad [(Name, Value)]Source
Evaluates the declaration but doesn't add it to the current environment.
evaluateFile :: [TCModule] -> EvaluationMonad [(Name, Value)]Source
Evaluates the declaration but doesn't add it to the current environment.
initEvaluator :: EvaluationStateSource
The environment to use initially. This uses the IO monad as the EvaluationMonad cannot be used without a valid environment.
runFromStateToState :: EvaluationState -> EvaluationMonad a -> (a, EvaluationState)Source
runEvaluator :: EvaluationState -> EvaluationMonad a -> aSource
data EvaluationState Source