Copyright | (c) 2013-2016 Galois Inc. |
---|---|
License | BSD3 |
Maintainer | cryptol@galois.com |
Stability | provisional |
Portability | portable |
Safe Haskell | Safe |
Language | Haskell98 |
- data GenEvalEnv b w = EvalEnv {}
- ppEnv :: BitWord b w => PPOpts -> GenEvalEnv b w -> Eval Doc
- emptyEnv :: GenEvalEnv b w
- bindVar :: Name -> Eval (GenValue b w) -> GenEvalEnv b w -> Eval (GenEvalEnv b w)
- bindVarDirect :: Name -> GenValue b w -> GenEvalEnv b w -> Eval (GenEvalEnv b w)
- lookupVar :: Name -> GenEvalEnv b w -> Maybe (Eval (GenValue b w))
- bindType :: TVar -> Either Nat' TValue -> GenEvalEnv b w -> GenEvalEnv b w
- lookupType :: TVar -> GenEvalEnv b w -> Maybe (Either Nat' TValue)
Documentation
data GenEvalEnv b w Source #
Generic (GenEvalEnv b w) Source # | |
Monoid (GenEvalEnv b w) Source # | |
(NFData b, NFData w) => NFData (GenEvalEnv b w) Source # | |
type Rep (GenEvalEnv b w) Source # | |
emptyEnv :: GenEvalEnv b w Source #
Evaluation environment with no bindings
bindVar :: Name -> Eval (GenValue b w) -> GenEvalEnv b w -> Eval (GenEvalEnv b w) Source #
Bind a variable in the evaluation environment.
bindVarDirect :: Name -> GenValue b w -> GenEvalEnv b w -> Eval (GenEvalEnv b w) Source #
Bind a variable to a value in the evaluation environment, without creating a thunk.
lookupVar :: Name -> GenEvalEnv b w -> Maybe (Eval (GenValue b w)) Source #
Lookup a variable in the environment.
bindType :: TVar -> Either Nat' TValue -> GenEvalEnv b w -> GenEvalEnv b w Source #
Bind a type variable of kind *.
lookupType :: TVar -> GenEvalEnv b w -> Maybe (Either Nat' TValue) Source #
Lookup a type variable.