Ltac_plugin.TaccoerceSourceCoercions from highest level generic arguments to actual data used by Ltac interpretation. Those functions examinate dynamic types and try to return something sensible according to the object content.
Exception raised whenever a coercion failed.
The of_* functions cast a given argument into a value. The to_* do the converse, and return None if there is a type mismatch.
val coerce_to_intro_pattern :
Evd.evar_map ->
Value.t ->
Tactypes.delayed_open_constr Tactypes.intro_pattern_exprval coerce_to_intro_pattern_naming :
Evd.evar_map ->
Value.t ->
Namegen.intro_pattern_naming_exprval coerce_to_evaluable_ref :
Environ.env ->
Evd.evar_map ->
Value.t ->
Tacred.evaluable_global_referenceval coerce_to_intro_pattern_list :
?loc:Loc.t ->
Evd.evar_map ->
Value.t ->
Tacexpr.intro_patternsval coerce_to_quantified_hypothesis :
Evd.evar_map ->
Value.t ->
Tactypes.quantified_hypothesisval wit_constr_context :
(Util.Empty.t, Util.Empty.t, Constr_matching.context) Genarg.genarg_typeval wit_constr_under_binders :
(Util.Empty.t, Util.Empty.t, Ltac_pretype.constr_under_binders)
Genarg.genarg_typeval error_ltac_variable :
?loc:Loc.t ->
Names.Id.t ->
(Environ.env * Evd.evar_map) option ->
Value.t ->
string ->
'atype appl = | UnnamedApplFor generic applications: nothing is printed
*)| GlbAppl of (Names.KerName.t * Geninterp.Val.t list) listFor calls to global constants, some may alias other.
*)Abstract application, to print ltac functions
type tacvalue = | VFun of appl
* Tacexpr.ltac_trace
* Loc.t option
* Geninterp.Val.t Names.Id.Map.t
* Names.Name.t list
* Tacexpr.glob_tactic_expr| VRec of Geninterp.Val.t Names.Id.Map.t Stdlib.ref * Tacexpr.glob_tactic_expr