cryptol-2.9.1: Cryptol: The Language of Cryptography

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

Cryptol.Eval.Env

Description

 
Synopsis

Documentation

data GenEvalEnv sym Source #

Constructors

EvalEnv 

Fields

Instances
Generic (GenEvalEnv sym) Source # 
Instance details

Defined in Cryptol.Eval.Env

Associated Types

type Rep (GenEvalEnv sym) :: Type -> Type #

Methods

from :: GenEvalEnv sym -> Rep (GenEvalEnv sym) x #

to :: Rep (GenEvalEnv sym) x -> GenEvalEnv sym #

Semigroup (GenEvalEnv sym) Source # 
Instance details

Defined in Cryptol.Eval.Env

Methods

(<>) :: GenEvalEnv sym -> GenEvalEnv sym -> GenEvalEnv sym #

sconcat :: NonEmpty (GenEvalEnv sym) -> GenEvalEnv sym #

stimes :: Integral b => b -> GenEvalEnv sym -> GenEvalEnv sym #

Monoid (GenEvalEnv sym) Source # 
Instance details

Defined in Cryptol.Eval.Env

Methods

mempty :: GenEvalEnv sym #

mappend :: GenEvalEnv sym -> GenEvalEnv sym -> GenEvalEnv sym #

mconcat :: [GenEvalEnv sym] -> GenEvalEnv sym #

type Rep (GenEvalEnv sym) Source # 
Instance details

Defined in Cryptol.Eval.Env

type Rep (GenEvalEnv sym) = D1 (MetaData "GenEvalEnv" "Cryptol.Eval.Env" "cryptol-2.9.1-EDtcoHURvveHmx5M6ZZjMK" False) (C1 (MetaCons "EvalEnv" PrefixI True) (S1 (MetaSel (Just "envVars") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Map Name (SEval sym (GenValue sym)))) :*: S1 (MetaSel (Just "envTypes") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 TypeEnv)))

ppEnv :: Backend sym => sym -> PPOpts -> GenEvalEnv sym -> SEval sym Doc Source #

emptyEnv :: GenEvalEnv sym Source #

Evaluation environment with no bindings

bindVar :: Backend sym => sym -> Name -> SEval sym (GenValue sym) -> GenEvalEnv sym -> SEval sym (GenEvalEnv sym) Source #

Bind a variable in the evaluation environment.

bindVarDirect :: Backend sym => Name -> GenValue sym -> GenEvalEnv sym -> GenEvalEnv sym Source #

Bind a variable to a value in the evaluation environment, without creating a thunk.

lookupVar :: Name -> GenEvalEnv sym -> Maybe (SEval sym (GenValue sym)) Source #

Lookup a variable in the environment.

bindType :: TVar -> Either Nat' TValue -> GenEvalEnv sym -> GenEvalEnv sym Source #

Bind a type variable of kind *.

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

Lookup a type variable.