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