package rocq-runtime
The Rocq Prover -- Core Binaries and Tools
Install
Dune Dependency
Authors
Maintainers
Sources
rocq-9.0.0.tar.gz
md5=8d522602d23e7a665631826dab9aa92b
sha512=f4f76a6a178e421c99ee7a331a2fd97a06e9c5d0168d7e60c44e3820d8e1a124370ea104ad90c7f87a9a1e9d87b2d0d7d2d387c998feeaed4a75ed04e176a4be
doc/rocq-runtime.kernel/Modops/index.html
Module Modops
Source
Various operations on modules and module types
Functors
Source
val destr_functor :
('ty, 'a) Declarations.functorize ->
Names.MBId.t * 'ty * ('ty, 'a) Declarations.functorize
Conversions between module_body
and module_type_body
Source
val module_body_of_type :
Names.ModPath.t ->
Declarations.module_type_body ->
Declarations.module_body
Source
val implem_smart_map :
(Declarations.structure_body -> Declarations.structure_body) ->
(Declarations.module_expression -> Declarations.module_expression) ->
('a, Declarations.module_implementation) Declarations.when_mod_body ->
('a, Declarations.module_implementation) Declarations.when_mod_body
Source
val annotate_module_expression :
Declarations.module_expression ->
Declarations.module_signature ->
(Declarations.module_type_body,
(Constr.constr * UVars.AbstractContext.t option)
Declarations.module_alg_expr)
Declarations.functorize
Source
val annotate_struct_body :
Declarations.structure_body ->
Declarations.module_signature ->
Declarations.module_signature
Substitutions
Source
val subst_signature :
Mod_subst.substitution ->
Declarations.module_signature ->
Declarations.module_signature
Source
val subst_structure :
Mod_subst.substitution ->
Declarations.structure_body ->
Declarations.structure_body
Adding to an environment
Source
val add_structure :
Names.ModPath.t ->
Declarations.structure_body ->
Mod_subst.delta_resolver ->
Environ.env ->
Environ.env
adds a module and its components, but not the constraints
Source
val add_linked_module :
Declarations.module_body ->
Environ.link_info ->
Environ.env ->
Environ.env
same as add_module, but for a module whose native code has been linked by the native compiler. The linking information is updated.
Source
val add_module_type :
Names.ModPath.t ->
Declarations.module_type_body ->
Environ.env ->
Environ.env
same, for a module type
Source
val add_retroknowledge :
Declarations.mod_body Declarations.module_retroknowledge ->
Environ.env ->
Environ.env
Strengthening
Source
val strengthen :
Declarations.module_type_body ->
Names.ModPath.t ->
Declarations.module_type_body
Source
val strengthen_and_subst_module_body :
Declarations.module_body ->
Names.ModPath.t ->
bool ->
Declarations.module_body
Source
val subst_modtype_signature_and_resolver :
Names.ModPath.t ->
Names.ModPath.t ->
Declarations.module_signature ->
Mod_subst.delta_resolver ->
Declarations.module_signature * Mod_subst.delta_resolver
Building map of constants to inline
Source
val inline_delta_resolver :
Environ.env ->
Entries.inline ->
Names.ModPath.t ->
Names.MBId.t ->
Declarations.module_type_body ->
Mod_subst.delta_resolver ->
Mod_subst.delta_resolver
Cleaning a module expression from bounded parts
For instance: functor(X:T)->struct module M:=X end) becomes: functor(X:T)->struct module M:=<content of T> end)
Errors
Source
type signature_mismatch_error =
| InductiveFieldExpected of Declarations.mutual_inductive_body
| DefinitionFieldExpected
| ModuleFieldExpected
| ModuleTypeFieldExpected
| NotConvertibleInductiveField of Names.Id.t
| NotConvertibleConstructorField of Names.Id.t
| NotConvertibleBodyField
| NotConvertibleTypeField of Environ.env * Constr.types * Constr.types
| CumulativeStatusExpected of bool
| PolymorphicStatusExpected of bool
| NotSameConstructorNamesField
| NotSameInductiveNameInBlockField
| FiniteInductiveFieldExpected of bool
| InductiveNumbersFieldExpected of int
| InductiveParamsNumberField of int
| RecordFieldExpected of bool
| RecordProjectionsExpected of Names.Name.t list
| NotEqualInductiveAliases
| IncompatibleUniverses of UGraph.univ_inconsistency
| IncompatiblePolymorphism of Environ.env * Constr.types * Constr.types
| IncompatibleConstraints of {
got : UVars.AbstractContext.t;
expect : UVars.AbstractContext.t;
}
| IncompatibleVariance
| NoRewriteRulesSubtyping
Source
type module_typing_error =
| SignatureMismatch of subtyping_trace_elt list * Names.Label.t * signature_mismatch_error
| LabelAlreadyDeclared of Names.Label.t
| NotAFunctor
| IsAFunctor of Names.ModPath.t
| IncompatibleModuleTypes of Declarations.module_type_body * Declarations.module_type_body
| NotEqualModulePaths of Names.ModPath.t * Names.ModPath.t
| NoSuchLabel of Names.Label.t * Names.ModPath.t
| NotAModuleLabel of Names.Label.t
| NotAConstant of Names.Label.t
| IncorrectWithConstraint of Names.Label.t
| GenerativeModuleExpected of Names.Label.t
| LabelMissing of Names.Label.t * string
| IncludeRestrictedFunctor of Names.ModPath.t
Source
val error_incompatible_modtypes :
Declarations.module_type_body ->
Declarations.module_type_body ->
'a
Source
val error_signature_mismatch :
subtyping_trace_elt list ->
Names.Label.t ->
signature_mismatch_error ->
'a
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page