cryptol-2.8.0: 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 b w i Source #

Constructors

EvalEnv 

Fields

Instances
Generic (GenEvalEnv b w i) Source # 
Instance details

Defined in Cryptol.Eval.Env

Associated Types

type Rep (GenEvalEnv b w i) :: Type -> Type #

Methods

from :: GenEvalEnv b w i -> Rep (GenEvalEnv b w i) x #

to :: Rep (GenEvalEnv b w i) x -> GenEvalEnv b w i #

Semigroup (GenEvalEnv b w i) Source # 
Instance details

Defined in Cryptol.Eval.Env

Methods

(<>) :: GenEvalEnv b w i -> GenEvalEnv b w i -> GenEvalEnv b w i #

sconcat :: NonEmpty (GenEvalEnv b w i) -> GenEvalEnv b w i #

stimes :: Integral b0 => b0 -> GenEvalEnv b w i -> GenEvalEnv b w i #

Monoid (GenEvalEnv b w i) Source # 
Instance details

Defined in Cryptol.Eval.Env

Methods

mempty :: GenEvalEnv b w i #

mappend :: GenEvalEnv b w i -> GenEvalEnv b w i -> GenEvalEnv b w i #

mconcat :: [GenEvalEnv b w i] -> GenEvalEnv b w i #

(NFData b, NFData i, NFData w) => NFData (GenEvalEnv b w i) Source # 
Instance details

Defined in Cryptol.Eval.Env

Methods

rnf :: GenEvalEnv b w i -> () #

type Rep (GenEvalEnv b w i) Source # 
Instance details

Defined in Cryptol.Eval.Env

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

ppEnv :: BitWord b w i => PPOpts -> GenEvalEnv b w i -> Eval Doc Source #

emptyEnv :: GenEvalEnv b w i Source #

Evaluation environment with no bindings

bindVar :: Name -> Eval (GenValue b w i) -> GenEvalEnv b w i -> Eval (GenEvalEnv b w i) Source #

Bind a variable in the evaluation environment.

bindVarDirect :: Name -> GenValue b w i -> GenEvalEnv b w i -> GenEvalEnv b w i Source #

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

lookupVar :: Name -> GenEvalEnv b w i -> Maybe (Eval (GenValue b w i)) Source #

Lookup a variable in the environment.

bindType :: TVar -> Either Nat' TValue -> GenEvalEnv b w i -> GenEvalEnv b w i Source #

Bind a type variable of kind *.

lookupType :: TVar -> GenEvalEnv b w i -> Maybe (Either Nat' TValue) Source #

Lookup a type variable.