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_tacexprid ↦ 'Control.hyp @id'
id ↦ 'Control.refine (fun () => Control.hyp @id')
id ↦ 'Control.refine (fun () => Control.hyp @id')
val wit_ltac1 :
(Names.Id.t CAst.t list * Ltac_plugin.Tacexpr.raw_tactic_expr,
Names.Id.t list * Ltac_plugin.Tacexpr.glob_tactic_expr)
Tac2dyn.Arg.tagLtac1 AST quotation, seen as a 'tactic'. Its type is unit in Ltac2.
val wit_ltac1val :
(Names.Id.t CAst.t list * Ltac_plugin.Tacexpr.raw_tactic_expr,
Names.Id.t list * Ltac_plugin.Tacexpr.glob_tactic_expr)
Tac2dyn.Arg.tagLtac1 AST quotation, seen as a value-returning expression, with type Ltac1.t.