package coq
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=b1501d686c21836302191ae30f610cca57fb309214c126518ca009363ad2cd3c
doc/coq-core.interp/Constrextern/index.html
Module Constrextern
Source
Translation of pattern, cases pattern, glob_constr and term into syntax trees for printing
val extern_cases_pattern :
Names.Id.Set.t ->
'a Glob_term.cases_pattern_g ->
Constrexpr.cases_pattern_expr
val extern_glob_type :
?impargs:Glob_term.binding_kind list ->
extern_env ->
'a Glob_term.glob_constr_g ->
Constrexpr.constr_expr
val extern_constr_pattern :
Termops.names_context ->
Evd.evar_map ->
Pattern.constr_pattern ->
Constrexpr.constr_expr
val extern_closed_glob :
?lax:bool ->
?goal_concl_style:bool ->
?inctx:bool ->
?scope:Notation_term.scope_name ->
Environ.env ->
Evd.evar_map ->
Ltac_pretype.closed_glob_constr ->
Constrexpr.constr_expr
If b=true
in extern_constr b env c
then the variables in the first level of quantification clashing with the variables in env
are renamed. ~lax is for debug printing, when the constr might not be well typed in env, sigma
val extern_constr :
?lax:bool ->
?inctx:bool ->
?scope:Notation_term.scope_name ->
Environ.env ->
Evd.evar_map ->
EConstr.constr ->
Constrexpr.constr_expr
val extern_constr_in_scope :
?lax:bool ->
?inctx:bool ->
Notation_term.scope_name ->
Environ.env ->
Evd.evar_map ->
EConstr.constr ->
Constrexpr.constr_expr
val extern_type :
?lax:bool ->
?goal_concl_style:bool ->
Environ.env ->
Evd.evar_map ->
?impargs:Glob_term.binding_kind list ->
EConstr.types ->
Constrexpr.constr_expr
val extern_rel_context :
EConstr.constr option ->
Environ.env ->
Evd.evar_map ->
EConstr.rel_context ->
Constrexpr.local_binder_expr list
val set_extern_reference :
(?loc:Loc.t -> Names.Id.Set.t -> Names.GlobRef.t -> Libnames.qualid) ->
unit
Customization of the global_reference printer
val get_extern_reference :
unit ->
?loc:Loc.t ->
Names.Id.Set.t ->
Names.GlobRef.t ->
Libnames.qualid
WARNING: The following functions are evil due to side-effects. Think of the following case as used in the printer:
without_specific_symbols SynDefRule kn
(pr_glob_constr_env env) c
vs
without_specific_symbols SynDefRule kn
pr_glob_constr_env env c
which one is wrong? We should turn this kind of state into an explicit argument.
This forces printing universe names of Type{.}
This suppresses printing of primitive tokens and notations
This suppresses printing of specific notations only
This prints metas as anonymous holes
Fine-grained activation and deactivation of notation printing.
val toggle_notation_printing :
?scope:Notation_term.scope_name ->
notation:Constrexpr.notation ->
activate:bool ->
unit ->
unit
Probably shouldn't be used