forked from LPCIC/coq-elpi
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcoq_elpi_glob_quotation.mli
49 lines (38 loc) · 1.53 KB
/
coq_elpi_glob_quotation.mli
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
(* coq-elpi: Coq terms as the object language of elpi *)
(* license: GNU Lesser General Public License Version 2.1 or later *)
(* ------------------------------------------------------------------------- *)
open Elpi.API
open RawData
val gterm2lp :
depth:int -> State.t -> Glob_term.glob_constr -> State.t * term
val under_ctx :
Names.Name.t ->
term ->
term option ->
(depth:int -> State.t -> State.t * 'b) ->
depth:int -> State.t -> State.t * 'b
val do_term :
Glob_term.glob_constr ->
depth:int -> State.t -> State.t * term
val do_params :
Glob_term.glob_decl list ->
(depth:int -> State.t -> State.t * term) ->
depth:int -> State.t -> State.t * term
val do_arity :
Glob_term.glob_constr ->
depth:int -> State.t -> State.t * term
val do_record :
name:string list * Names.Id.t ->
constructorname:Names.Id.t option ->
Glob_term.glob_constr ->
(Glob_term.glob_constr * Coq_elpi_HOAS.record_field_spec) list ->
depth:int -> State.t -> State.t * term
(* The context used to interpret Var("x") nodes *)
val set_coq_ctx_hyps : State.t -> [> `Options ] Coq_elpi_HOAS.coq_context * Coq_elpi_HOAS.hyp list -> State.t
(* Used for anti-quotations *)
val is_elpi_code : (Genarg.glob_generic_argument -> bool) ref
val get_elpi_code : (Genarg.glob_generic_argument -> Ast.Loc.t * string) ref
val is_elpi_code_appArg : (Genarg.glob_generic_argument -> bool) ref
val get_elpi_code_appArg : (Genarg.glob_generic_argument -> Ast.Loc.t * string list) ref
(* Hacks *)
val mk_restricted_name : int -> string