After this commit, new interactice tactic classes can be added without
writing C++ code (see example: tests/lean/run/my_tac_class.lean).
The tactic_evaluator was simplified, and all the complexity has been
moved to tactic_notation, and lean code.
We can now inspect the intermediate states produced by the rewrite
tactic.
The function (@scope_trace _ line col thunk) can be used to position trace
messages produced by thunk. If line/col are not provided (i.e., we
just write (scope_trace thunk)), then line/col are filled with the
position of this term by the elaborator.
We can visualize the intermediate tactic states inside nested blocks
such as (try { ... })
The new infrastructure can be used to implement custom tactic_state
pretty printers.
9 lines
213 B
Text
9 lines
213 B
Text
ctx.lean:3:0: error: don't know how to synthesize placeholder
|
||
context:
|
||
A B : Type u,
|
||
a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 : ℕ,
|
||
b1 b2 b3 : bool,
|
||
h : A = B,
|
||
p1 p2 : A × B
|
||
⊢ ℕ
|
||
ctx.lean:3:0: error: elaborator failed
|