Redexpr.Usertype ('raw, 'glb) user_red_spec = {ured_intern : Constrintern.ltac_sign -> 'raw -> 'glb; |
ured_subst : Mod_subst.substitution -> 'glb -> 'glb; |
ured_eval : 'glb -> Reductionops.e_reduction_function * Constr.cast_kind; |
ured_rprint : Environ.env -> Evd.evar_map -> 'raw -> Pp.t; |
ured_gprint : Environ.env -> Evd.evar_map -> 'glb -> Pp.t; |
}User-defined reductions are indexed by the kind of payload they contain at both raw and glob levels.
val create : string -> ('raw, 'glb) user_red_spec -> ('raw, 'glb) user_redCreate a new user-defined reduction.
val make : ('raw, 'glb) user_red -> 'raw -> Genarg.rlevel user_red_exprInject the required data into a user reduction expression.