Skip to content

Commit c40e913

Browse files
authored
Merge pull request #745 from LPCIC/fix-doc-call-ltac
document caveat in call-ltac1
2 parents b999039 + 28e8d9f commit c40e913

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

builtin-doc/coq-builtin.elpi

+5
Original file line numberDiff line numberDiff line change
@@ -1619,6 +1619,11 @@ external pred coq.ltac.collect-goals i:term, o:list sealed-goal,
16191619
% of type ltac1-tactic, see the tac argument constructor
16201620
% and the ltac_tactic:(...) syntax to pass arguments to
16211621
% an elpi tactic.
1622+
% Caveat:
1623+
% if Tac is a tactic name, then the tactic must be defined using
1624+
% "Ltac name := body", it cannot be a builtin one. For example
1625+
% "Ltac myapply x := apply x." lets one call apply by running
1626+
% coq.ltac.call-ltac1 "myapply" G GL.
16221627
% Supported attributes:
16231628
% - @no-tc! (default false, do not infer typeclasses)
16241629
external pred coq.ltac.call-ltac1 i:any, i:goal, o:list sealed-goal.

src/coq_elpi_builtins.ml

+5
Original file line numberDiff line numberDiff line change
@@ -3709,6 +3709,11 @@ Tac can either be a string (the tactic name), or a value
37093709
of type ltac1-tactic, see the tac argument constructor
37103710
and the ltac_tactic:(...) syntax to pass arguments to
37113711
an elpi tactic.
3712+
Caveat:
3713+
if Tac is a tactic name, then the tactic must be defined using
3714+
"Ltac name := body", it cannot be a builtin one. For example
3715+
"Ltac myapply x := apply x." lets one call apply by running
3716+
coq.ltac.call-ltac1 "myapply" G GL.
37123717
Supported attributes:
37133718
- @no-tc! (default false, do not infer typeclasses)|})))),
37143719
(fun tac (proof_context,goal,tac_args) _ ~depth _ _ -> abstract__grab_global_env_keep_sigma "coq.ltac.call-ltac1" (fun state ->

0 commit comments

Comments
 (0)