package coq-core

  1. Overview
  2. Docs
On This Page
  1. Generic arguments
Legend:
Library
Module
Module type
Parameter
Class
Class type

Syntactic 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 of_int : int CAst.t -> Tac2expr.raw_tacexpr
val of_pair : ('a -> Tac2expr.raw_tacexpr) -> ('b -> Tac2expr.raw_tacexpr) -> ('a * 'b) CAst.t -> Tac2expr.raw_tacexpr
val of_tuple : ?loc:Loc.t -> Tac2expr.raw_tacexpr list -> Tac2expr.raw_tacexpr
val of_constr : ?delimiters:Names.Id.t list -> Constrexpr.constr_expr -> Tac2expr.raw_tacexpr
val of_open_constr : ?delimiters:Names.Id.t list -> Constrexpr.constr_expr -> Tac2expr.raw_tacexpr
val of_preterm : ?delimiters:Names.Id.t list -> Constrexpr.constr_expr -> Tac2expr.raw_tacexpr
val of_list : ?loc:Loc.t -> ('a -> Tac2expr.raw_tacexpr) -> 'a list -> Tac2expr.raw_tacexpr
val array_of_list : ?loc:Loc.t -> Tac2expr.raw_tacexpr -> Tac2expr.raw_tacexpr
val of_intro_patterns : Tac2qexpr.intro_pattern list CAst.t -> Tac2expr.raw_tacexpr

id ↦ 'Control.hyp @id'

val of_exact_hyp : ?loc:Loc.t -> Names.Id.t CAst.t -> Tac2expr.raw_tacexpr

id ↦ 'Control.refine (fun () => Control.hyp @id')

val of_exact_var : ?loc:Loc.t -> Names.Id.t CAst.t -> Tac2expr.raw_tacexpr

id ↦ 'Control.refine (fun () => Control.hyp @id')

Generic arguments
val wit_pattern : (Constrexpr.constr_expr, [ `uninstantiated ] Pattern.constr_pattern_r) Tac2dyn.Arg.tag

Ltac1 AST quotation, seen as a 'tactic'. Its type is unit in Ltac2.

Ltac1 AST quotation, seen as a value-returning expression, with type Ltac1.t.

OCaml

Innovation. Community. Security.