cryptol-2.6.0: Cryptol: The Language of Cryptography

Safe Haskell | Safe
Language | Haskell2010

Cryptol.ModuleSystem.InstantiateModule

Description

Assumes that local names do not shadow top level names.

Synopsis

- instantiateModule :: FreshM m => Module -> ModName -> Map TParam Type -> Map Name Expr -> m ([Located Prop], Module)

# Documentation

instantiateModule Source #

Arguments

:: FreshM m |
=> Module | Parametrized module
-> ModName | Name of the new module
-> Map TParam Type | Type params
-> Map Name Expr | Value parameters
-> m ([Located Prop], Module) | Instantiated constraints, fresh module, new supply

Convert a module instantiation into a partial module. The resulting module is incomplete because it is missing the definitions from the instantiation.