Term_typingSourceHandlers are used to manage side-effects. The 'a type stands for the type of side-effects, and it is parametric because they are only defined later on. Handlers inline the provided side-effects into the term, and return the set of additional global constraints that need to be added for the term to be well typed.
val translate_local_def :
Environ.env ->
Names.Id.t ->
Entries.section_def_entry ->
Constr.constr * Sorts.relevance * Constr.typesval translate_constant :
Environ.env ->
Names.Constant.t ->
Entries.constant_entry ->
'a Declarations.constant_bodyval translate_opaque :
Environ.env ->
Names.Constant.t ->
'a Entries.opaque_entry ->
unit Declarations.constant_body * typing_contextval translate_recipe :
Environ.env ->
Names.Constant.t ->
Cooking.recipe ->
Opaqueproof.opaque Declarations.constant_bodyval check_delayed :
'a effect_handler ->
typing_context ->
'a Entries.proof_output ->
Constr.t * Univ.ContextSet.t Opaqueproof.delayed_universesInternal functions, mentioned here for debug purpose only
val infer_declaration :
Environ.env ->
Entries.constant_entry ->
typing_context Cooking.resultval build_constant_declaration :
Environ.env ->
Opaqueproof.proofterm Cooking.result ->
Opaqueproof.proofterm Declarations.constant_body