Commit graph

8781 commits

Author SHA1 Message Date
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
29728c0443 feat(library/init/to_string): add fin.has_to_string 2016-05-26 12:02:47 -07:00
Leonardo de Moura
62b8c24c7a feat(library/init/to_string): add decidable.has_to_string 2016-05-26 11:59:54 -07:00
Leonardo de Moura
c9c08ab833 feat(frontends/lean/builtin_cmds): only display vm_eval runtime if --profile is used 2016-05-26 11:46:48 -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
6eb377033b chore(library/system/IO): suppress unnecessary universe 2016-05-26 11:41:41 -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
f60d088572 feat(library/init): add 'has_to_string' type class 2016-05-26 10:43:26 -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
d96b3e0172 chore(library/data/hlist): make sure we can generate code for hlist.get 2016-05-25 17:53: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
9530f716f9 refactor(library): move list.is_inhabited instance to init folder 2016-05-25 17:26:42 -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
d763ea1abf chore(tests/lean/run/IO3): remove unnecessary 'open' 2016-05-25 16:05:39 -07:00
Leonardo de Moura
4b002e5bf0 test(tests/lean/run): add IO test 2016-05-25 16:04:54 -07:00
Leonardo de Moura
d4a8d14a9c feat(library/init/nat): put nat instances in the top-level 2016-05-25 16:03:21 -07:00
Leonardo de Moura
0239860ad6 test(tests/lean/run): add another IO test 2016-05-25 15:47:02 -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
e2d3abd995 feat(emacs/lean-syntax): highlight 'return' 2016-05-25 15:17:02 -07:00
Leonardo de Moura
1bce20c322 feat(library/init): make sure list, char and string decidable_eq instances are defined in the init folder 2016-05-25 15:16:12 -07:00
Leonardo de Moura
7c97d88be5 feat(frontends/lean/builtin_exprs): add optional curly braces for do-notation 2016-05-25 15:15:39 -07:00
Leonardo de Moura
2a16b58324 test(tests/lean/run): add another IO test 2016-05-25 14:23:57 -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
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