Leonardo de Moura
b2c1ea6fdb
fix(library/type_context): failure cache
...
The new regression test exposes the problem being fixed.
2016-12-13 07:50:03 -08:00
Daniel Selsam
fc7410633f
feat(library/type_context): cache failures at is_def_eq
2016-12-13 07:01:12 -08:00
Leonardo de Moura
13ae8b07b3
feat(library/init/data/nat/lemmas): add missing lemmas
2016-12-12 13:25:30 -08:00
Gabriel Ebner
0c8c41bd07
fix(library/module_mgr): make more robust
2016-12-12 12:40:40 -08:00
Gabriel Ebner
67e3c383ac
fix(library/module_mgr): fix invalidation
2016-12-12 12:40:40 -08:00
Gabriel Ebner
28705052bd
fix(emacs/lean-server): allow restarting dead server
2016-12-12 12:40:40 -08:00
Gabriel Ebner
1963c8650f
feat(shell/server): support regions of interest consisting of multiple files
2016-12-12 12:40:40 -08:00
Gabriel Ebner
d5bca10af8
feat(shell/server,emacs): show currently executing task if even from another file
2016-12-12 12:40:40 -08:00
Gabriel Ebner
902df5d134
feat(shell/server,emacs): show list of currently running tasks
2016-12-12 12:40:40 -08:00
Leonardo de Moura
3de3532a3e
chore(tests/lean/run/even): remove duplicate
2016-12-12 10:48:10 -08:00
Leonardo de Moura
7794ecfb69
test(tests/lean/run): add test for performance issue reported in the lean group
2016-12-12 10:38:23 -08:00
Leonardo de Moura
6e3959de2f
feat(library/compiler): create declarations for nested values
2016-12-12 10:37:58 -08:00
Leonardo de Moura
fe3396e1ae
perf(library/vm/vm): cache the result of 0-ary vm_decls
2016-12-12 09:12:06 -08:00
Leonardo de Moura
502413d5dd
chore(library/compiler/elim_unused_lets): style
2016-12-12 08:32:42 -08:00
Gabriel Ebner
cf3f398753
fix(library/module_mgr): do not perform unnecessary copy
2016-12-12 08:25:32 -08:00
Leonardo de Moura
028bf36152
feat(library/compiler): eliminate unused let declarations
2016-12-12 08:23:37 -08:00
Leonardo de Moura
abfea1f388
feat(library/compiler/cse): ignore 0-ary macros during common subexpression elimination
2016-12-12 07:40:46 -08:00
Gabriel Ebner
a972c13ce9
refactor(library/task_queue): move task queue to util
2016-12-12 10:01:34 -05:00
Gabriel Ebner
02b4fe771f
fix(util/message_definitions): initialize version field
2016-12-12 09:45:07 -05:00
Gabriel Ebner
6c34d42025
refactor(library/task_queue): break dependency on message_buffer
2016-12-12 09:44:05 -05:00
Gabriel Ebner
f584d11072
refactor(library/task_queue): do not hardcode friendship to mt_task_queue
2016-12-12 09:32:13 -05:00
Gabriel Ebner
bc74a79ebd
refactor(library/message_buffer): extract definitions into extra header file
2016-12-12 08:56:15 -05:00
Gabriel Ebner
9eeb4390ea
fix(kernel/type_checker): fallback to immediate checking if task queue is not available
2016-12-12 08:45:56 -05:00
Gabriel Ebner
29bf483e2a
refactor(library/task_queue): extract library-specific code
2016-12-12 08:43:43 -05:00
Gabriel Ebner
8e0a5904d2
refactor(library/message_buffer): move info_manager out of scope_message_context
2016-12-12 08:23:15 -05:00
Leonardo de Moura
fbc1bb4d89
perf(library/compiler): add common subexpression elimination
...
It addresses a performance problem reported by Brian (huffman@galois.com ).
2016-12-11 14:43:51 -08:00
Gabriel Ebner
a24490a06a
fix(emacs/lean-server): wrap correct function with save-match-data
...
In emacs 24, apparently just setting a timer changed the match data...
2016-12-11 11:17:28 -08:00
Leonardo de Moura
c8d6836aa1
feat(library): port nat sub lemmas
2016-12-11 09:46:45 -08:00
Gabriel Ebner
f8479762a1
fix(emacs/lean-server): make sure all timers are wrapped in save-match-data
2016-12-11 08:30:00 -08:00
Leonardo de Moura
18098e9455
perf(library/init/data/list/basic): avoid naive quadratic implementations
2016-12-10 13:18:11 -08:00
Leonardo de Moura
aba6f8b8a8
feat(frontends/lean/parser): add support for anonymous parameters
...
Example:
check λ _, 0
2016-12-10 11:07:58 -08:00
Leonardo de Moura
9f6e71b374
feat(library/tactic): add "approximate" parameter to apply_core and rewrite_core
...
If this parameter is set to true, then approximate unification is
used.
closes #1208
2016-12-10 10:24:05 -08:00
Jeremy Avigad
0950b7a49f
feat(library/init/meta/interactive): allow cases on an arbitrary expression
2016-12-10 09:54:03 -08:00
Jeremy Avigad
1dd91c6e6a
feat(library/init/meta/interactive): add fapply
2016-12-10 09:53:53 -08:00
Jeremy Avigad
1ba55e5cda
feat(library/init/meta/interactive): allow metavariable in change tactic
2016-12-10 09:53:36 -08:00
Leonardo de Moura
55401a95ec
fix(frontends/lean/parser): scope in tactic mode
2016-12-10 09:39:13 -08:00
Gabriel Ebner
e03c31d2f9
refactor(gitignore): remove old ignore entries
2016-12-10 08:42:39 -08:00
Gabriel Ebner
09fa1298ce
fix(gitignore): ignore autosave files
2016-12-10 08:42:29 -08:00
Gabriel Ebner
872082bdd9
chore(*): remove emacs autosave file
2016-12-10 08:42:20 -08:00
Leonardo de Moura
b5dc88ee37
fix(library/equations_compiler/elim_match): see #1216
...
Fixes the problem described at #1216 .
This is an alternative fix that prevents the m_var_stack from being in
an inconsistent state.
2016-12-08 15:38:14 -08:00
Jeremy Avigad
7155e8114b
refactor(src/emacs/*): remove dependence on fill-column-indicator
2016-12-08 14:53:09 -08:00
Leonardo de Moura
692701c5ef
feat(library/init/meta): use cheap "reflexivity" after simp and rewrite
...
The idea is to make sure lean doesn't timeout (at reflexivity) when we apply simp or
rewrite in goals such as
(x y : nat) |- x + y + 10000000000 = x + y + 200000000000000
This commit also addresses an issue raised at #1218
2016-12-08 14:41:26 -08:00
Leonardo de Moura
0818b02eb3
test(tests/lean/run): add test for @1218
2016-12-08 14:10:47 -08:00
Daniel Selsam
aed6d8fea0
fix(tactic/dsimplify.cpp): must whnf in post to be idempotent
2016-12-08 13:34:32 -08:00
Jeremy Avigad
6f64244f2a
refactor(library/init/meta/tactic): switch 'pose' and 'note'
2016-12-08 13:17:42 -08:00
Gabriel Ebner
2867163db0
fix(tests): initialize util module
2016-12-08 13:11:53 -08:00
Gabriel Ebner
51821bd8c9
fix(util/thread): do not initialize thread_finalizers_manager in multiple threads
2016-12-08 13:11:40 -08:00
Leonardo de Moura
275cfeac1a
fix(library/type_context): incorrect assertion
2016-12-08 12:58:10 -08:00
Leonardo de Moura
09ed8e1136
fix(library/type_context): compilation error in debug mode
2016-12-08 12:49:04 -08:00
Leonardo de Moura
6577cc87a3
feat(library): add pre_monad
...
closes #1235
2016-12-08 12:48:55 -08:00