GentacticSourceGeneric tactic expressions.
Each declared tag must be registered using all the following register functions (except when the callback cannot be called ie when the value type at that level is empty).
val register_print :
('raw, 'glb) tag ->
'raw Genprint.printer ->
'glb Genprint.printer ->
unitval print_raw :
Environ.env ->
Evd.evar_map ->
?level:Constrexpr.entry_relative_level ->
raw_generic_tactic ->
Pp.tval print_glob :
Environ.env ->
Evd.evar_map ->
?level:Constrexpr.entry_relative_level ->
glob_generic_tactic ->
Pp.tval intern :
?strict:bool ->
Environ.env ->
?ltacvars:Names.Id.Set.t ->
raw_generic_tactic ->
glob_generic_tacticstrict is default true
val register_interp :
(_, 'glb) tag ->
(Geninterp.Val.t Names.Id.Map.t -> 'glb -> unit Proofview.tactic) ->
unitval interp :
?lfun:Geninterp.Val.t Names.Id.Map.t ->
glob_generic_tactic ->
unit Proofview.tactic