Commit graph

23 commits

Author SHA1 Message Date
Leonardo de Moura
5d00936a8f chore(*): remove some old_type_checker dependencies 2018-09-07 08:48:21 -07:00
Leonardo de Moura
c0e1d05199 chore(kernel): type_checker ==> old_type_checker 2018-06-06 16:10:40 -07:00
Leonardo de Moura
7528e14e68 feat(frontends/lean,shell/server): "hole" command 2017-06-14 21:56:17 -07:00
Gabriel Ebner
595cbb8fe9 refactor(*): task<T>, log_tree, cancellation_token 2017-03-23 08:57:52 +01:00
Leonardo de Moura
cce88c6190 refactor(frontends/lean): interactive tactic support
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.
2017-01-21 22:38:47 -08:00
Gabriel Ebner
a8df381d20 feat(*): parallel compilation 2016-11-29 11:12:40 -08:00
Sebastian Ullrich
989761045b fix(src/emacs/lean-server): revert 133b70c0 for emacs < 25 2016-10-19 19:47:36 -07:00
Sebastian Ullrich
133b70c0e3 fix(emacs): don't try to parse server stderr as json, instead notify on server crash 2016-10-19 10:02:58 -07:00
Gabriel Ebner
60afce092a fix(library/trace): prevent memory corruption with scope_traces_as_messages 2016-10-13 18:49:10 -07:00
Gabriel Ebner
5acb722d46 refactor(library/flycheck,library/trace): convert trace output to messages independently of flycheck 2016-10-13 18:49:10 -07:00
Leonardo de Moura
2ea8b26c4f refactor(library/io_state): move get_global_ios to io_state module 2016-06-25 20:59:52 -07:00
Leonardo de Moura
f36db4085e feat(library/trace): add helper constructor 2016-06-17 11:17:08 -07:00
Leonardo de Moura
181e48e3f3 feat(library/tactic/tactic_state): add tactic_state.to_format 2016-06-09 10:47:17 -07:00
Leonardo de Moura
7ff06e1b2c feat(library/meta): exceptional monad 2016-06-07 15:19:43 -07:00
Leonardo de Moura
487a1e7f89 refactor(kernel): remove extension_context
We replaced it with abstract_type_context
2016-03-19 15:15:39 -07:00
Leonardo de Moura
7d61f640f6 refactor(*): add abstract_type_context class 2016-02-26 14:17:34 -08:00
Daniel Selsam
58d41e486c feat(library/trace): register debug trace class 2016-01-13 15:15:15 -08:00
Leonardo de Moura
b7de10a6d2 feat(library/trace): allow user to disable subclasses of a trace class
Example:

set_option trace.blast true         -- enables trace.blast class and all subclasses
set_option trace.blast.action false -- disables the given subclass

Result: all blast classes are traced but blast.action
2015-12-11 11:03:16 -08:00
Leonardo de Moura
429527eb72 refactor(library/blast): move to new tracing infrastructure 2015-12-08 19:37:06 -08:00
Leonardo de Moura
370f9a6eec fix(library/trace): use null output channel when trace environment is not set
This is important when multiple threads are being used, and the trace
environment is not set for a child thread
2015-12-08 18:37:57 -08:00
Leonardo de Moura
58ab526d44 feat(library/type_context): use new tracing infrastructure in new type class resolution procedure 2015-12-08 14:34:20 -08:00
Leonardo de Moura
e5a6bc5b85 feat(library/blast/simplifier/simplifier): move to new tracing framework 2015-12-08 12:59:30 -08:00
Leonardo de Moura
6b1469264d feat(library/trace): add new tracing infrastructure 2015-12-08 11:58:03 -08:00