Commit graph

2605 commits

Author SHA1 Message Date
Leonardo de Moura
a05f8719df fix(library/definitional/equations): fix missing case 2016-06-01 19:28:48 -07:00
Leonardo de Moura
4ae7afd8c4 fix(library/definitional/equations): potential non-termination 2016-06-01 19:23:36 -07:00
Leonardo de Moura
81947e145e feat(library/vm,library/compiler): add support for builtin cases_on 2016-06-01 19:06:52 -07:00
Leonardo de Moura
6f02d30185 feat(library/vm): add basic support for C++ name objects in the VM
We still need to add support for the recursor
2016-06-01 13:10:24 -07:00
Leonardo de Moura
e72a8f4a9b feat(library/vm/vm): add support for builtin constants 2016-06-01 13:05:39 -07:00
Leonardo de Moura
e7b47a504e feat(frontends/lean): add meta_definition and meta_constant commands 2016-06-01 09:12:41 -07:00
Leonardo de Moura
8bccfc23da feat(library/vm): add example of C function invoking Lean closure 2016-05-31 18:45:14 -07:00
Leonardo de Moura
d1e37f1948 fix(library/vm/vm): invoke_closure 2016-05-31 18:44:53 -07:00
Leonardo de Moura
032750f4cb feat(library/vm/vm): add dynamic declare_vm_builtin 2016-05-31 17:42:42 -07:00
Leonardo de Moura
b31a7bd3e7 feat(library/vm): use cfunction style for nat and IO primitives 2016-05-31 17:22:27 -07:00
Leonardo de Moura
faf70ed58c feat(library/vm/vm): add support for declaring builtin cfunctions 2016-05-31 16:48:11 -07:00
Leonardo de Moura
25903645a7 feat(library/vm/vm): add some sanity checking 2016-05-31 16:29:01 -07:00
Leonardo de Moura
e843062be7 feat(library/vm/vm): add support to builtin c-like functions that use the system stack to pass arguments 2016-05-31 16:19:43 -07:00
Leonardo de Moura
4e5b8e8d0e fix(library/string): conversion from std::string to lean expr 2016-05-31 16:19:01 -07:00
Leonardo de Moura
3a4a2828d2 chore(library/vm): style 2016-05-26 12:57:34 -07:00
Leonardo de Moura
e89082a97e feat(library/vm,library/init): add builtin timeit primitive for profiling 2016-05-26 12:44:49 -07:00
Leonardo de Moura
93ca755e56 fix(library/vm/vm): vm::execute 2016-05-26 12:41:40 -07:00
Leonardo de Moura
3806792866 feat(frontends/lean/builtin_cmds): use 'to_string' automatically at vm_eval if type has an instance of has_to_string 2016-05-26 11:41:53 -07:00
Leonardo de Moura
a5908ad671 feat(library/type_context): process arguments before function in def_eq 2016-05-26 11:15:49 -07:00
Leonardo de Moura
cc4b70e5e5 feat(library/vm/vm_nat): add native support for nat.to_string 2016-05-26 10:55:22 -07:00
Leonardo de Moura
05837a2558 refactor(library/vm): move vm_obj <=> string conversion functions to separate module 2016-05-26 10:47:19 -07:00
Leonardo de Moura
53811822d4 chore(*): style 2016-05-25 18:10:15 -07:00
Leonardo de Moura
713c97a3be fix(library/compiler/preprocess): make sure no_confusion is not expanded by expand_aux 2016-05-25 17:57:17 -07:00
Leonardo de Moura
f9624b4c49 fix(library/compiler/vm_compiler): ignore applications of the form (neutral ...) during code generation 2016-05-25 17:52:42 -07:00
Leonardo de Moura
856f6bcbdf fix(library/compiler/erase_irrelevant): missing case 2016-05-25 17:49:02 -07:00
Leonardo de Moura
bf9300686c feat(library/compiler/vm_compiler): ignore macro annotations 2016-05-25 17:26:15 -07:00
Leonardo de Moura
abd2bbab78 feat(library/compiler/preprocess): expand auxiliary declarations automatically created by Lean (e.g., transitivite instances)
These declarations do not have VM bytecode associated with them.

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2016-05-25 17:09:16 -07:00
Leonardo de Moura
c5616969e0 fix(library/compiler/simp_inductive): distribute extra cases_on arguments over minor premises in the simp_inductive step 2016-05-25 15:46:01 -07:00
Leonardo de Moura
1b8d9deb37 chore(library/compiler/erase_irrelevant): style 2016-05-25 15:45:43 -07:00
Leonardo de Moura
be7a736a42 feat(library/compiler/vm_compiler): trace bytecode after/before optimization 2016-05-25 15:45:16 -07:00
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
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
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
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
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
423d129105 feat(library/vm/vm): bytecode serialization 2016-05-13 17:51:01 -07:00