Commit graph

2379 commits

Author SHA1 Message Date
Leonardo de Moura
dfd2a23cd4 feat(frontends/lean): use #"c" instead of 'c' for character literals
The new notation is the same one used in Standard ML.
It will also allow us to use ' in the beginning of identifiers like Standard ML.
2016-11-17 11:35:54 -08:00
Leonardo de Moura
e16e9880f7 chore(library/system): enforce Lean naming conventions IO ==> io 2016-11-17 11:27:37 -08:00
Leonardo de Moura
b0d6d171be feat(library/tactic/vm_monitor): add basic io support for VM monad 2016-11-15 18:42:14 -08:00
Leonardo de Moura
7232e3a076 feat(library/vm/vm): invoke debugger (aka vm_monitor) 2016-11-14 14:45:49 -08:00
Leonardo de Moura
b59c10118d fix(*): memory leaks 2016-11-11 11:56:54 -08:00
Leonardo de Moura
1a8b582533 fix(frontends/lean/info_manager): uninitialized variable 2016-11-11 11:50:05 -08:00
Leonardo de Moura
714b780636 feat(frontends/lean/elaborator): save type info for let-exprs 2016-11-10 16:34:48 -08:00
Leonardo de Moura
d95645bd89 feat(frontends/lean/elaborator): save type information for binders 2016-11-10 15:39:38 -08:00
Sebastian Ullrich
2a37611d1f feat(emacs): implement show-goal-at-pos using faster info manager 2016-11-10 15:17:15 -08:00
Leonardo de Moura
922d48524b fix(frontends/lean): fixes #1188
This commit also adds support for recording the type of local variables
in the info_manager
2016-11-10 15:08:25 -08:00
Leonardo de Moura
29e5464e42 fix(frontends/lean/tactic_notation): fix minor problem for info at position
See comment for details.
2016-11-10 13:48:35 -08:00
Leonardo de Moura
40fca8efd4 feat(frontends/lean): add tactic.save_type_info, preserve pos info at translate 2016-11-10 11:51:05 -08:00
Leonardo de Moura
83e0e7104c feat(frontends/lean): save tactic_state in the info_manager 2016-11-10 09:56:36 -08:00
Leonardo de Moura
d6000416f8 feat(library/compiler,frontends/lean/elaborator): (try to) preserve position information
We will use this information in the debugger.
2016-11-09 16:51:48 -08:00
Gabriel Ebner
a3aced1b30 feat(frontends/lean/structure_cmd): record position of structure declaration 2016-11-08 19:22:42 -08:00
Sebastian Ullrich
b0037684d8 fix(frontends/lean/elaborator): pass info_manager to nested elaborators via thread-local variable 2016-11-08 08:37:41 -08:00
Sebastian Ullrich
9bb167d619 chore(frontends/lean): bring back beautiful #ifdefs around json.hpp usage 2016-11-08 08:37:41 -08:00
Sebastian Ullrich
ef633abec7 chore(*): fix test and style 2016-11-08 08:37:41 -08:00
Sebastian Ullrich
bb75e6398a feat(emacs, frontends/lean/info_manager): implement 'go to definition' 2016-11-08 08:37:41 -08:00
Sebastian Ullrich
bbb06dec70 fix(frontends/lean): pass around info_manager at more locations 2016-11-08 08:37:41 -08:00
Sebastian Ullrich
1f9554a014 refactor(frontends/lean/info_manager): always pass column in requests 2016-11-08 08:37:41 -08:00
Sebastian Ullrich
ba1b6165e3 feat(frontends, shell): implement basic server 'info' command 2016-11-08 08:37:41 -08:00
Sebastian Ullrich
388b337f50 chore(frontends/lean/info_manager): make copyable and integrate into snapshots 2016-11-08 08:37:41 -08:00
Leonardo de Moura
abd96e748f fix(frontends/lean/parser): crash on Win 10 2016-11-07 21:30:19 -08:00
Leonardo de Moura
bb5033dc57 feat(util/timeit, frontends/lean/definition_cmds): add xtimeit 2016-11-07 17:01:19 -08:00
Gabriel Ebner
15e2950834 core(frontends/lean/pp): bring back removed pp and pp_detail functions 2016-11-07 14:55:32 -08:00
Leonardo de Moura
93ccea11fc chore(frontends/lean): remove dead code
`abstract` can be implemented as a tactic on top of add_decl.
2016-11-04 12:36:12 -07:00
Sebastian Ullrich
395ddd9d38 fix(frontends/lean/builtin_cmds): fix positioning of vm_eval output 2016-11-04 09:36:55 -07:00
Sebastian Ullrich
eb599481b9 fix(frontends/lean/parser): fix spurious "uses 'sorry'" messages 2016-11-04 09:36:55 -07:00
Leonardo de Moura
9465f25f09 feat(library/vm): profiler for VM bytecode 2016-11-03 21:15:29 -07:00
Leonardo de Moura
6173d95d18 feat(library/module,frontends/lean): store line/column number information 2016-11-02 16:55:21 -07:00
Leonardo de Moura
ea3adf4a7c feat(library/init/meta/tactic): universe polymorphic tactics 2016-10-25 03:42:55 +08:00
Leonardo de Moura
e358a15dd4 fix(frontends/lean/elaborator): show-goal-at-pos after last tactic
See issue #1169
2016-10-25 02:40:24 +08:00
Gabriel Ebner
5f803c0353 feat(frontends/lean/elaborator): make show-goal-at-pos work on
by-tactics
2016-10-21 15:42:29 -07:00
Gabriel Ebner
47e6fd091f refactor(frontends/lean): implement show goal function using exceptions 2016-10-21 15:42:29 -07:00
Joe Hendrix
8ceada5555 feat(frontends/lean): support binary, octal and hex literals
Scanner will interpret numeric literals prefixed with '0b', '0o', and
'0x' as binary, octal, and hex decimal values respectively.  The prefix
character ('b', 'o', 'x') may be upper or lower case.
2016-10-19 10:13:24 -07:00
Leonardo de Moura
1185799b1f feat(frontends/lean/elaborator): more detailed error message for a^.f notation 2016-10-18 16:22:05 -07:00
Sebastian Ullrich
7f4cbdf402 fix(frontends/lean/parser): create snapshot even after prelude-only import 2016-10-16 22:13:44 -07:00
Leonardo de Moura
9b84db083d fix(frontends/lean): error localization bugs 2016-10-15 13:40:57 -07:00
Leonardo de Moura
c3861c7ab3 fix(frontends/lean/elaborator): bug when creating error message 2016-10-15 13:30:26 -07:00
Leonardo de Moura
a5029ab5d2 fix(frontends/lean): improve error localization 2016-10-15 10:43:33 -07:00
Leonardo de Moura
0bb155a427 chore(*): remove .clean support
In Lean2, we used to cache elaborated definitions in .clean files. The
main goal was to optimize each flycheck invocation produced by Emacs.

The Lean3 definition package was not updating this cache. Moreover, it
is not necessary because the new compilation server subsumes it.
2016-10-13 19:58:58 -07:00
Gabriel Ebner
a4d8ae2e30 fix(frontends/lean/parser): fix snapshots in prelude files 2016-10-13 18:49:10 -07:00
Gabriel Ebner
b14a0c43ff feat(frontends/lean/parser,library/module): warn if imported modules are out-of-date 2016-10-13 18:49:10 -07:00
Gabriel Ebner
f969ed5d39 fix(frontends/lean/parser): copy options from snapshot 2016-10-13 18:49:10 -07:00
Gabriel Ebner
73b685db2e fix(frontends/lean/parser): copy environment from snapshot 2016-10-13 18:49:10 -07:00
Gabriel Ebner
ed6aace6ff feat(frontends/lean/parser): save messages in snapshots 2016-10-13 18:49:10 -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
a9bff2a7f0 fix(frontends/lean/definition_cmds): report timing messages 2016-10-13 18:49:10 -07:00
Gabriel Ebner
8c188c59c5 feat(frontends/lean): remember column for snapshots 2016-10-13 18:49:10 -07:00