Commit graph

29801 commits

Author SHA1 Message Date
Leonardo de Moura
b8ea69b3cd fix(library/compiler/reduce_arity): incorrect assertion 2016-05-25 14:20:16 -07:00
Leonardo de Moura
76e2f92d9c feat(frontends/lean/pp): pretty print let-expressions 2016-05-25 14:04:28 -07:00
Leonardo de Moura
e82cb6393f test(tests/lean/run): add IO test 2016-05-25 13:46:05 -07:00
Leonardo de Moura
bf2d2b9feb fix(library/vm,library/compiler,frontends/lean): IO monad support 2016-05-25 13:30:43 -07:00
Leonardo de Moura
6d37c26b5d feat(library/compiler/erase_irrelevant): add support for IO monad.return 2016-05-24 18:28:06 -07:00
Leonardo de Moura
63ed0c0056 feat(library/compiler/erase_irrelevant): add support for IO monad.bind 2016-05-24 18:14:39 -07:00
Leonardo de Moura
e40c54013a feat(library/vm): add basic support for IO monad 2016-05-24 17:52:22 -07:00
Leonardo de Moura
174fba9dbd feat(frontends/lean): add support for monadic 'do'-notation 2016-05-24 17:18:15 -07:00
Leonardo de Moura
570ae36148 test(tests/lean): add test for new string support 2016-05-24 16:27:12 -07:00
Leonardo de Moura
6a9e5079c9 feat(library,frontends/lean/pp): add support for new string encoding 2016-05-24 16:20:43 -07:00
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