aboutsummaryrefslogtreecommitdiff
path: root/src/tac2core.ml
diff options
context:
space:
mode:
authorPierre-Marie Pédrot2017-09-08 19:02:51 +0200
committerPierre-Marie Pédrot2017-09-08 19:21:24 +0200
commit555a7cf0ce4457ecfbf68cd12dd0e801728f6662 (patch)
treeb81a2b74a8abaa0a7160097cb86c9ecbe48d761a /src/tac2core.ml
parent2b66bf0083fd85cf2fc983dbca75b848194f897f (diff)
Using a dedicated argument for tactic quotations.
This prevents having to go through an expensive phase of goal-building, when we can simply type-check the term.
Diffstat (limited to 'src/tac2core.ml')
-rw-r--r--src/tac2core.ml17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/tac2core.ml b/src/tac2core.ml
index f969183dce..8b83e501f9 100644
--- a/src/tac2core.ml
+++ b/src/tac2core.ml
@@ -912,6 +912,23 @@ let () =
in
Pretyping.register_constr_interp0 wit_ltac2 interp
+let () =
+ let interp ist env sigma concl id =
+ let ist = Tac2interp.get_env ist in
+ let c = Id.Map.find id ist.env_ist in
+ let c = Value.to_constr c in
+ let evdref = ref sigma in
+ let () = Typing.e_check env evdref c concl in
+ (c, !evdref)
+ in
+ Pretyping.register_constr_interp0 wit_ltac2_quotation interp
+
+let () =
+ let pr_raw id = mt () in
+ let pr_glb id = str "$" ++ Id.print id in
+ let pr_top _ = mt () in
+ Genprint.register_print0 wit_ltac2_quotation pr_raw pr_glb pr_top
+
(** Ltac2 in Ltac1 *)
let () =