Safe Haskell | None |
---|
- data EvaluationState = EvaluationState {}
- type EvaluationMonad = Reader EvaluationState
- gets :: (EvaluationState -> a) -> EvaluationMonad a
- modify :: (EvaluationState -> EvaluationState) -> EvaluationMonad a -> EvaluationMonad a
- runEvaluator :: EvaluationState -> EvaluationMonad a -> a
- getState :: EvaluationMonad EvaluationState
- getEnvironment :: EvaluationMonad Environment
- lookupVarMaybeThunk :: Name -> EvaluationMonad Value
- addScopeAndBind :: [(Name, Value)] -> EvaluationMonad a -> EvaluationMonad a
- addScopeAndBindM :: [(Name, EvaluationMonad Value)] -> EvaluationMonad a -> EvaluationMonad a
- throwError :: ErrorMessage -> a
- getParentScopeIdentifier :: EvaluationMonad (Maybe ScopeIdentifier)
- updateParentScopeIdentifier :: ScopeIdentifier -> EvaluationMonad a -> EvaluationMonad a
- setCurrentExpressionLocation :: SrcSpan -> EvaluationMonad a -> EvaluationMonad a
- getCurrentExpressionLocation :: EvaluationMonad SrcSpan
- throwError' :: (SrcSpan -> Maybe ScopeIdentifier -> ErrorMessage) -> EvaluationMonad a
- setTimedCSP :: Name -> (Event -> Int) -> EvaluationMonad a -> EvaluationMonad a
- maybeTimedCSP :: EvaluationMonad a -> (Name -> (Event -> Int) -> EvaluationMonad a) -> EvaluationMonad a
Documentation
type EvaluationMonad = Reader EvaluationStateSource
gets :: (EvaluationState -> a) -> EvaluationMonad aSource
modify :: (EvaluationState -> EvaluationState) -> EvaluationMonad a -> EvaluationMonad aSource
runEvaluator :: EvaluationState -> EvaluationMonad a -> aSource
addScopeAndBind :: [(Name, Value)] -> EvaluationMonad a -> EvaluationMonad aSource
Implements non-recursive lets.
addScopeAndBindM :: [(Name, EvaluationMonad Value)] -> EvaluationMonad a -> EvaluationMonad aSource
Implements recursive lets.
throwError :: ErrorMessage -> aSource
throwError' :: (SrcSpan -> Maybe ScopeIdentifier -> ErrorMessage) -> EvaluationMonad aSource
setTimedCSP :: Name -> (Event -> Int) -> EvaluationMonad a -> EvaluationMonad aSource
maybeTimedCSP :: EvaluationMonad a -> (Name -> (Event -> Int) -> EvaluationMonad a) -> EvaluationMonad aSource