package coq-core
The Coq Proof Assistant -- Core Binaries and Tools
Install
Dune Dependency
Authors
Maintainers
Sources
coq-8.17.0.tar.gz
sha512=2f77bcb5211018b5d46320fd39fd34450eeb654aca44551b28bb50a2364398c4b34587630b6558db867ecfb63b246fd3e29dc2375f99967ff62bc002db9c3250
doc/coq-core.kernel/Mod_typing/index.html
Module Mod_typing
Source
Main functions for translating module entries
translate_module
produces a module_body
out of a module_entry
. In the output fields:
mod_expr
isAbstract
for aMType
entry, orAlgebraic
forMExpr
.mod_type_alg
isNone
only for aMExpr
without explicit signature.
Source
val translate_module :
'a Reduction.universe_state ->
Environ.env ->
Names.ModPath.t ->
Entries.inline ->
Entries.module_entry ->
Declarations.module_body * 'a
translate_modtype
produces a module_type_body
whose mod_type_alg
cannot be None
(and of course mod_expr
is Abstract
).
Source
val translate_modtype :
'a Reduction.universe_state ->
Environ.env ->
Names.ModPath.t ->
Entries.inline ->
Entries.module_type_entry ->
Declarations.module_type_body * 'a
Low-level function for translating a module struct entry :
- We translate to a module when a
ModPath.t
is given, otherwise to a module type. - The first output is the expanded signature
- The second output is the algebraic expression, kept mostly for the extraction.
Source
type 'alg translation =
Declarations.module_signature
* 'alg
* Mod_subst.delta_resolver
* Univ.Constraints.t
Source
val translate_mse :
'a Reduction.universe_state ->
Environ.env ->
Names.ModPath.t option ->
Entries.inline ->
Entries.module_struct_entry ->
Declarations.module_signature
* (Constr.t * Univ.AbstractContext.t option) Declarations.module_alg_expr
* Mod_subst.delta_resolver
* 'a
From an already-translated (or interactive) implementation and an (optional) signature entry, produces a final module_body
Source
val finalize_module :
'a Reduction.universe_state ->
Environ.env ->
Names.ModPath.t ->
(Declarations.module_signature
* Declarations.module_expression option
* Mod_subst.delta_resolver) ->
(Entries.module_type_entry * Entries.inline) option ->
Declarations.module_body * 'a
translate_mse_incl
translate the mse of a module or module type given to an Include
Source
val translate_mse_include :
bool ->
'a Reduction.universe_state ->
Environ.env ->
Names.ModPath.t ->
Entries.inline ->
Entries.module_struct_entry ->
Declarations.module_signature * unit * Mod_subst.delta_resolver * 'a
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>