cryptol-3.0.0: Cryptol: The Language of Cryptography
Safe HaskellSafe-Inferred
LanguageHaskell2010

Cryptol.TypeCheck.ModuleInstance

Synopsis

Documentation

type Su = (?tSu :: Subst, ?vSu :: Map Name Name) Source #

`?tSu` should be applied to all types. `?vSu` shoudl be applied to all values.

doVInst :: (Su, TraverseNames a) => a -> a Source #

Has value names but no types.

doTInst :: (Su, TVars a) => a -> a Source #

Has types but not values.

doTVInst :: (Su, TVars a, TraverseNames a) => a -> a Source #

Has both value names and types.

class ModuleInstance t where Source #

Methods

moduleInstance :: Su => t -> t Source #

Instances

Instances details
ModuleInstance Name Source # 
Instance details

Defined in Cryptol.TypeCheck.ModuleInstance

ModuleInstance Decl Source # 
Instance details

Defined in Cryptol.TypeCheck.ModuleInstance

ModuleInstance DeclGroup Source # 
Instance details

Defined in Cryptol.TypeCheck.ModuleInstance

ModuleInstance AbstractType Source # 
Instance details

Defined in Cryptol.TypeCheck.ModuleInstance

ModuleInstance ModParam Source # 
Instance details

Defined in Cryptol.TypeCheck.ModuleInstance

ModuleInstance ModParamNames Source # 
Instance details

Defined in Cryptol.TypeCheck.ModuleInstance

ModuleInstance ModTParam Source # 
Instance details

Defined in Cryptol.TypeCheck.ModuleInstance

ModuleInstance ModVParam Source # 
Instance details

Defined in Cryptol.TypeCheck.ModuleInstance

ModuleInstance Newtype Source # 
Instance details

Defined in Cryptol.TypeCheck.ModuleInstance

ModuleInstance Schema Source # 
Instance details

Defined in Cryptol.TypeCheck.ModuleInstance

ModuleInstance TySyn Source # 
Instance details

Defined in Cryptol.TypeCheck.ModuleInstance

ModuleInstance Type Source # 
Instance details

Defined in Cryptol.TypeCheck.ModuleInstance

ModuleInstance name => ModuleInstance (IfaceNames name) Source # 
Instance details

Defined in Cryptol.TypeCheck.ModuleInstance

ModuleInstance name => ModuleInstance (ImpName name) Source # 
Instance details

Defined in Cryptol.TypeCheck.ModuleInstance

Methods

moduleInstance :: ImpName name -> ImpName name Source #

ModuleInstance a => ModuleInstance (Located a) Source # 
Instance details

Defined in Cryptol.TypeCheck.ModuleInstance

ModuleInstance (ModuleG name) Source # 
Instance details

Defined in Cryptol.TypeCheck.ModuleInstance

Methods

moduleInstance :: ModuleG name -> ModuleG name Source #

ModuleInstance a => ModuleInstance [a] Source # 
Instance details

Defined in Cryptol.TypeCheck.ModuleInstance

Methods

moduleInstance :: [a] -> [a] Source #