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