cryptol-2.4.0: Cryptol: The Language of Cryptography

Copyright(c) 2013-2016 Galois, Inc.
LicenseBSD3
Maintainercryptol@galois.com
Stabilityprovisional
Portabilityportable
Safe HaskellSafe
LanguageHaskell98

Cryptol.Eval.Env

Description

 

Synopsis

Documentation

data EvalEnv Source #

Constructors

EvalEnv 

Instances

Generic EvalEnv Source # 

Associated Types

type Rep EvalEnv :: * -> * #

Methods

from :: EvalEnv -> Rep EvalEnv x #

to :: Rep EvalEnv x -> EvalEnv #

Monoid EvalEnv Source # 
NFData EvalEnv Source # 

Methods

rnf :: EvalEnv -> () #

PP (WithBase EvalEnv) Source # 
type Rep EvalEnv Source # 
type Rep EvalEnv = D1 (MetaData "EvalEnv" "Cryptol.Eval.Env" "cryptol-2.4.0-AtabUoGsZJn8kSvO8P84NP" False) (C1 (MetaCons "EvalEnv" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "envVars") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Map Name Value))) (S1 (MetaSel (Just Symbol "envTypes") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Map TVar (Either Nat' TValue))))))

bindVar :: Name -> Value -> EvalEnv -> EvalEnv Source #

Bind a variable in the evaluation environment.

lookupVar :: Name -> EvalEnv -> Maybe Value Source #

Lookup a variable in the environment.

bindType :: TVar -> Either Nat' TValue -> EvalEnv -> EvalEnv Source #

Bind a type variable of kind # or *.

lookupType :: TVar -> EvalEnv -> Maybe (Either Nat' TValue) Source #

Lookup a type variable.