cryptol-2.9.0: Cryptol: The Language of Cryptography

Safe HaskellSafe
LanguageHaskell2010

Cryptol.ModuleSystem.InstantiateModule

Description

Assumes that local names do not shadow top level names.

Synopsis

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.