cryptol-3.0.0: Cryptol: The Language of Cryptography

Safe Haskell | Safe-Inferred
Language | Haskell2010

Cryptol.TypeCheck.ModuleInstance

Synopsis

- type Su = (?tSu :: Subst, ?vSu :: Map Name Name)
- doVInst :: (Su, TraverseNames a) => a -> a
- doTInst :: (Su, TVars a) => a -> a
- doTVInst :: (Su, TVars a, TraverseNames a) => a -> a
- doMap :: (Su, ModuleInstance a) => Map Name a -> Map Name a
- doSet :: Su => Set Name -> Set Name
- class ModuleInstance t where
  - moduleInstance :: Su => t -> t

# 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.

doMap :: (Su, ModuleInstance a) => Map Name a -> Map Name a Source #

doSet :: Su => Set Name -> Set Name Source #

class ModuleInstance t where Source #

Methods

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

#### Instances

Instances details

ModuleInstance Name Source # |
Instance details Defined in Cryptol.TypeCheck.ModuleInstance Methods moduleInstance :: Name -> Name Source #
ModuleInstance Decl Source # |
Instance details Defined in Cryptol.TypeCheck.ModuleInstance Methods moduleInstance :: Decl -> Decl Source #
ModuleInstance DeclGroup Source # |
Instance details Defined in Cryptol.TypeCheck.ModuleInstance Methods moduleInstance :: DeclGroup -> DeclGroup Source #
ModuleInstance AbstractType Source # |
Instance details Defined in Cryptol.TypeCheck.ModuleInstance Methods moduleInstance :: AbstractType -> AbstractType Source #
ModuleInstance ModParam Source # |
Instance details Defined in Cryptol.TypeCheck.ModuleInstance Methods moduleInstance :: ModParam -> ModParam Source #
ModuleInstance ModParamNames Source # |
Instance details Defined in Cryptol.TypeCheck.ModuleInstance Methods moduleInstance :: ModParamNames -> ModParamNames Source #
ModuleInstance ModTParam Source # |
Instance details Defined in Cryptol.TypeCheck.ModuleInstance Methods moduleInstance :: ModTParam -> ModTParam Source #
ModuleInstance ModVParam Source # |
Instance details Defined in Cryptol.TypeCheck.ModuleInstance Methods moduleInstance :: ModVParam -> ModVParam Source #
ModuleInstance Newtype Source # |
Instance details Defined in Cryptol.TypeCheck.ModuleInstance Methods moduleInstance :: Newtype -> Newtype Source #
ModuleInstance Schema Source # |
Instance details Defined in Cryptol.TypeCheck.ModuleInstance Methods moduleInstance :: Schema -> Schema Source #
ModuleInstance TySyn Source # |
Instance details Defined in Cryptol.TypeCheck.ModuleInstance Methods moduleInstance :: TySyn -> TySyn Source #
ModuleInstance Type Source # |
Instance details Defined in Cryptol.TypeCheck.ModuleInstance Methods moduleInstance :: Type -> Type Source #
ModuleInstance name => ModuleInstance (IfaceNames name) Source # |
Instance details Defined in Cryptol.TypeCheck.ModuleInstance Methods moduleInstance :: IfaceNames name -> IfaceNames name Source #
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 Methods moduleInstance :: Located a -> Located a Source #
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 #