Commit graph

5709 commits

Author SHA1 Message Date
Leonardo de Moura
384cf04efd refactor(library/aliases,frontends/lean/local_ref_info): merge aliases and local_ref_info modules 2016-12-15 13:24:30 -08:00
Gabriel Ebner
d89512b6fc fix(util/task_queue): fix undefined behavior with null references 2016-12-15 09:48:57 -08:00
Leonardo de Moura
e248577e1c feat(library/vm): allow vm bytecode to invoke native closures 2016-12-14 19:16:55 -08:00
Leonardo de Moura
bd2f9bce05 fix(library/compiler/erase_irrelevant): issue created by elim_unused_lets optimization 2016-12-14 18:51:53 -08:00
Leonardo de Moura
b0ce461fcd feat(library/vm): native closures that do not depend on vm_state
Remark: native_closures are used in the C++ code generator.
2016-12-14 18:51:24 -08:00
Daniel Selsam
317989bf9e feat(tactic/exact_tactic): exact_core that takes transparency 2016-12-13 08:27:21 -08:00
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
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
902df5d134 feat(shell/server,emacs): show list of currently running tasks 2016-12-12 12:40:40 -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
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
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
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
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
Daniel Selsam
aed6d8fea0 fix(tactic/dsimplify.cpp): must whnf in post to be idempotent 2016-12-08 13:34:32 -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
Leonardo de Moura
079a442404 feat(library/type_context): add option for controlling threshold for applying offset constraints 2016-12-08 11:21:05 -08:00
Leonardo de Moura
be3cff0c46 feat(library/type_context): move offset constraint resolution to lazy delta loop 2016-12-08 11:00:15 -08:00
Leonardo de Moura
e80eccdd60 chore(library/st_task_queue): style 2016-12-08 10:43:39 -08:00
Gabriel Ebner
716502c502 fix(library/st_task_queue): check dependencies on task submission 2016-12-08 10:32:37 -08:00
Leonardo de Moura
7bffcf776b chore(library/mt_task_queue, library/task_queue): style 2016-12-08 09:26:22 -08:00
Daniel Selsam
6120f8cc9f fix(src/library/tactic/simplify): relaxed_whnf when checking if fn is dependent 2016-12-08 07:41:42 -08:00
Gabriel Ebner
45d0525e52 feat(shell,emacs): new lean server protocol 2016-12-06 17:14:29 -08:00
Leonardo de Moura
278e960a6b feat(library/type_context): add support for offset constraints in the unifier
see discussion at #1226
2016-12-06 16:51:00 -08:00
Leonardo de Moura
5c2d87ef87 fix(library/native_compiler/native_compiler): compilation error 2016-12-06 13:16:56 -08:00
Leonardo de Moura
9aa77bfdb0 feat(library/util): add mk_nat 2016-12-06 00:16:31 -08:00
Leonardo de Moura
72ce00d3d0 fix(library/type_context): assertion violation at unification hints 2016-12-06 00:16:31 -08:00
Leonardo de Moura
ef6d6075bb fix(library/native_compiler/native_compiler): add -ldl option 2016-12-05 17:33:34 -08:00
Leonardo de Moura
e59515df5f chore(*): fix style 2016-12-05 16:39:58 -08:00
Jared Roesch
e65d90ac79 feat(*): C++ code generator
in progress move of Lean.native to init
2016-12-05 16:11:41 -08:00
Gabriel Ebner
d5372e770f fix(shell/lean): wait for all tasks to finish 2016-12-05 13:26:00 -08:00
Leonardo de Moura
f96d35dc1c fix(library/aux_definition,frontends/lean/definition_cmds): unfold macros at trust level 0 2016-12-05 13:08:12 -08:00
Leonardo de Moura
a9d3f36f76 feat(util/thread,library/mt_task_queue): add lthread 2016-12-03 11:29:22 -08:00
Leonardo de Moura
aea8fd943e fix(library/mt_task_queue): save stack info at thread starting
We need this information to get accurate stack information.
2016-12-02 20:01:32 -08:00
Gabriel Ebner
7db2b8d014 fix(library/vm/vm): do not segfault in single-threaded builds 2016-12-02 16:51:10 -08:00
Gabriel Ebner
c8a821afd1 fix(library/module_mgr): do not create olean files for modules with errors 2016-12-02 16:48:18 -08:00