Ltac2_plugin.Tac2quoteSourceSyntactic quoting of expressions.
Contrarily to Tac2ffi, which lives on the semantic level, this module manipulates pure syntax of Ltac2. Its main purpose is to write notations.
val constructor :
?loc:Loc.t ->
Tac2expr.ltac_constructor ->
Tac2expr.raw_tacexpr list ->
Tac2expr.raw_tacexprval of_pair :
('a -> Tac2expr.raw_tacexpr) ->
('b -> Tac2expr.raw_tacexpr) ->
('a * 'b) CAst.t ->
Tac2expr.raw_tacexprval of_open_constr :
?delimiters:Names.Id.t list ->
Constrexpr.constr_expr ->
Tac2expr.raw_tacexprval of_preterm :
?delimiters:Names.Id.t list ->
Constrexpr.constr_expr ->
Tac2expr.raw_tacexprid ↦ 'Control.hyp @id'
id ↦ 'Control.refine (fun () => Control.hyp @id')
id ↦ 'Control.refine (fun () => Control.hyp @id')
val wit_pattern :
(Constrexpr.constr_expr, [ `uninstantiated ] Pattern.constr_pattern_r)
Tac2dyn.Arg.tagval wit_preterm :
(Constrexpr.constr_expr, Names.Id.Set.t * Glob_term.glob_constr)
Tac2dyn.Arg.tag