Commit graph

11891 commits

Author SHA1 Message Date
Leonardo de Moura
cf5e7e4185 chore(library/type_context): improve aux_type_context interface 2016-05-24 14:38:21 -07:00
Leonardo de Moura
408d1fae70 refactor(library/norm_num): use new type_context 2016-05-24 14:11:43 -07:00
Leonardo de Moura
d22d850b28 refactor(library): redefine string and char 2016-05-24 14:11:24 -07:00
Leonardo de Moura
cf7fcb3f51 feat(library/init): add functor/monad to init folder 2016-05-24 13:06:01 -07:00
Leonardo de Moura
f66494108c chore(library/init/logic): reduce sorry's 2016-05-24 12:45:11 -07:00
Leonardo de Moura
4c8360efd8 test(tests/lean/run/vm_eval1): test for efficient interpreter 2016-05-24 12:26:25 -07:00
Leonardo de Moura
5bc4250c42 chore(library/init/classical): code generation warning 2016-05-23 17:50:01 -07:00
Leonardo de Moura
9dfc5ed787 chore(library/data): make sure we can generate code for the modified functions 2016-05-23 17:50:01 -07:00
Leonardo de Moura
413a0faf99 chore(library/data/nat/bquant): make sure we can generate code for bsub_succ 2016-05-23 17:50:01 -07:00
Leonardo de Moura
d7e863c3f4 feat(library/compiler/erase_irrelevant): add support for quotient types
and expand macros
2016-05-23 17:49:42 -07:00
Leonardo de Moura
e06713b3cd chore(library/init/wf): make sure we can generate code for acc.drec 2016-05-23 17:02:51 -07:00
Leonardo de Moura
18b2b51c8b test(tests/lean/run): make sure well_founded.fix works before optimizing its compilation 2016-05-23 16:50:44 -07:00
Leonardo de Moura
fd1141d999 fix(library/vm/vm,library/compiler/vm_compiler): invoke n ==> apply
This change fixes a bug in the VM and simplifies the VM instruction semantics.
2016-05-23 16:45:42 -07:00
Leonardo de Moura
e42972b501 feat(library/compiler/erase_irrelevant): add support for acc.rec 2016-05-23 16:31:29 -07:00
Leonardo de Moura
5333e07eb9 fix(library/compiler/vm_compiler): incorrect assertion 2016-05-23 15:10:50 -07:00
Leonardo de Moura
c3805a9a81 fix(library/vm/optimize): bytecode optimization 2016-05-23 14:35:10 -07:00
Leonardo de Moura
17e3223467 chore(library/vm/vm): add debugging helper procedure 2016-05-23 14:14:43 -07:00
Leonardo de Moura
9545620a54 fix(library/compiler/simp_inductive): generate error message for inductive predicates
indutive predicates that support elimination on Type (e.g., eq and acc) must be
eliminated before this step.
2016-05-23 13:27:05 -07:00
Leonardo de Moura
76942ae150 fix(kernel,library): OSX warnings 2016-05-13 21:33:40 -07:00
Leonardo de Moura
af1908be94 feat(frontends/lean/decl_cmds): do not generate warning for definitions that are implemented in the VM 2016-05-13 18:17:20 -07:00
Leonardo de Moura
65b9cab9b4 feat(frontends/lean/decl_cmds): generate bytecode when adding definitions
Remark: when the code generator fails we just generate a warning.
Reason: code generator does not support wellfounded recursion yet.
2016-05-13 18:05:47 -07:00
Leonardo de Moura
423d129105 feat(library/vm/vm): bytecode serialization 2016-05-13 17:51:01 -07:00
Leonardo de Moura
c2959dc77b feat(frontends/lean/builtin_cmds): improve error message 2016-05-13 16:27:44 -07:00
Leonardo de Moura
7242de7238 feat(library/vm/vm): improve vm_obj pretty printer 2016-05-13 16:16:31 -07:00
Leonardo de Moura
bd23f5d63d feat(frontends/lean/builtin_cmd): improve vm_eval command 2016-05-13 16:15:44 -07:00
Leonardo de Moura
6142fbb1c6 feat(library/vm/vm): check interruptions and memory at invocation 2016-05-13 15:38:48 -07:00
Leonardo de Moura
9e7d8c10ae perf(library/vm/vm): small optimizations 2016-05-13 15:33:58 -07:00
Leonardo de Moura
11b63b0fcd fix(util/small_object_allocator): warning 2016-05-13 15:20:32 -07:00
Leonardo de Moura
0c0dec8aa6 feat(library/vm/vm): use small object allocator for VM objects 2016-05-13 14:56:53 -07:00
Leonardo de Moura
92bc367c5c feat(util): add small object allocator 2016-05-13 14:41:31 -07:00
Leonardo de Moura
752c81a166 fix(library/compiler/nat_value): add expand method, otherwise we may fail to type check terms using nat_value_macro 2016-05-13 12:50:28 -07:00
Leonardo de Moura
f75caddc35 feat(library/vm/vm): rename cases1 to destruct 2016-05-13 12:30:47 -07:00
Leonardo de Moura
4f53cfe5e8 fix(library/vm/vm): std::copy issue 2016-05-13 12:22:28 -07:00
Leonardo de Moura
00bc55af3e feat(library/vm/vm): improve trace 2016-05-13 12:13:47 -07:00
Leonardo de Moura
dc3d7597ee chore(library/vm/vm): document VM instructions 2016-05-13 11:54:11 -07:00
Leonardo de Moura
56ec91284b chore(library/vm/vm): cleanup 2016-05-13 11:06:25 -07:00
Leonardo de Moura
35cf7bf8e2 feat(library/vm/vm): remove atomic from VM object reference counter
VM objects should not be shared between different threads.
So, the atomic<unsigned> in the reference counter produces an
unnecessary performance penalty.
2016-05-13 11:00:33 -07:00
Leonardo de Moura
2bd400964c feat(library/vm/vm): store arguments in reverse order on the stack
It simplifies the code for handling closures.
2016-05-13 10:54:29 -07:00
Leonardo de Moura
dbcd609aff feat(library/vm/vm): disable VM trace in release mode 2016-05-13 10:33:25 -07:00
Leonardo de Moura
039e960799 feat(library/vm/vm): add InvokeBuiltin instruction 2016-05-13 10:28:05 -07:00
Leonardo de Moura
2c0dee5b41 feat(library/vm/vm): cases2 and casesn take pc of first branch too 2016-05-13 10:15:20 -07:00
Leonardo de Moura
7bdf2d4a5a feat(library/vm/vm): avoid macros 2016-05-13 09:50:07 -07:00
Leonardo de Moura
437fee1919 feat(frontends/lean/builtin_cmds): track runtime 2016-05-13 09:38:18 -07:00
Leonardo de Moura
990d2dc06e fix(library/vm/vm): typo 2016-05-13 00:45:18 -07:00
Leonardo de Moura
b8b32c2a3b fix(library/vm/vm): typo 2016-05-13 00:43:09 -07:00
Leonardo de Moura
843f3a69ba fix(library/vm/vm): memory management 2016-05-13 00:29:20 -07:00
Leonardo de Moura
46c50831fd fix(library/vm/vm): initialization bug 2016-05-12 23:43:44 -07:00
Leonardo de Moura
06039d95b4 feat(library/vm/vm): add tracing 2016-05-12 23:43:30 -07:00
Leonardo de Moura
8a0b2534bb fix(library/vm/vm): builtin function invocation 2016-05-12 19:35:28 -07:00
Leonardo de Moura
a533cc56ec fix(library/vm/vm_nat): typo 2016-05-12 19:34:06 -07:00