Commit graph

8843 commits

Author SHA1 Message Date
Leonardo de Moura
fb6c9f2879 feat(library/vm/vm_expr): add more functions to 'expr' API 2016-06-06 11:26:19 -07:00
Leonardo de Moura
5cb998ce5f feat(library/type_context): relax assertion 2016-06-06 10:54:05 -07:00
Leonardo de Moura
a55a936db2 feat(library/vm): expose C++ 'expr' object 2016-06-05 21:13:00 -07:00
Leonardo de Moura
792040b1a5 feat(library/init/bool): mark bor, band and cond as inline
The idea is to get short-circuit evaluation for Boolean operators.
2016-06-05 13:03:33 -07:00
Leonardo de Moura
1f8c58415e feat(library/vm): expose C++ 'level' object 2016-06-05 12:55:57 -07:00
Leonardo de Moura
dac2c39646 feat(library/meta/rb_map): add has_to_string and has_to_format type class instances for rb_map 2016-06-03 17:34:49 -07:00
Leonardo de Moura
7da3fe024a feat(library/vm/vm_rb_map): add rb_map.fold 2016-06-03 17:32:53 -07:00
Leonardo de Moura
9eb9be2911 fix(library/vm/vm): make sure objects are not garbage collected at invoke_cfun when the VM stack is resized 2016-06-03 17:31:47 -07:00
Leonardo de Moura
b5ca231cdf fix(library/vm/vm): problems detected when using valgrind 2016-06-03 16:55:01 -07:00
Leonardo de Moura
163a650ede chore(library/vm): fix style 2016-06-03 16:22:14 -07:00
Leonardo de Moura
650a08945c perf(library/meta/rb_map): mark rb_map.mk as inline 2016-06-03 16:11:55 -07:00
Leonardo de Moura
09255e9a4c fix(frontends/lean/decl_cmds): generate code for inline definitions
Reason: we only unfold inline definitions when they are fully applied.
2016-06-03 16:08:13 -07:00
Leonardo de Moura
5a9a5dabd6 perf(library/vm/vm): improve performance of invoke_closure 2016-06-03 15:39:18 -07:00
Leonardo de Moura
1834cab3f2 feat(library/meta): add has_cmp type class 2016-06-03 14:06:46 -07:00
Leonardo de Moura
9a14f7543c feat(library/vm): expose rb_map object 2016-06-03 13:45:06 -07:00
Leonardo de Moura
fe4fafd95d chore(library/vm): remove unnecessary includes 2016-06-03 13:07:06 -07:00
Leonardo de Moura
5e237f1c47 chore(library/scoped_ext): remove dead code 2016-06-03 12:57:18 -07:00
Leonardo de Moura
224203f215 feat(library,frontends/lean/builtin_cmds): store export cmds and replay them
see #603
closes #723
2016-06-03 12:51:12 -07:00
Leonardo de Moura
0726db6e19 refactor(frontends/lean/builtin_cmds): separate open/export parsing from execution 2016-06-03 10:57:06 -07:00
Leonardo de Moura
f2a2207254 chore(frontends/lean/token_table): remove unnecessary keywords (fold and unfold) 2016-06-03 09:41:27 -07:00
Leonardo de Moura
eafc78f02d feat(library/meta/name): add extra name functions 2016-06-03 09:36:42 -07:00
Leonardo de Moura
83f64ef8b3 chore(util): remove dead code 2016-06-02 18:38:07 -07:00
Sebastian Ullrich
9561b45af1 fix(frontends/lean): uniform handling of declaration compound names
* allow compound names in `namespace` and `structure`
* adjust error messages

Conflicts:
	src/frontends/lean/builtin_tactics.cpp
2016-06-02 18:13:50 -07:00
Leonardo de Moura
3b57246a62 feat(library/meta/format): add 'pp' helper function 2016-06-02 17:57:29 -07:00
Leonardo de Moura
f4df90d6ac fix(kernel/declaration): bug at use_untrusted 2016-06-02 17:40:09 -07:00
Leonardo de Moura
801a57dba1 feat(library/vm): expose C++ 'format' object 2016-06-02 17:37:27 -07:00
Leonardo de Moura
2c4935148c fix(frontends/lean/decl_cmds): recursive equations for meta-definitions 2016-06-02 17:12:21 -07:00
Leonardo de Moura
df0d39ccee feat(kernel,library/definitional,frontends/lean/structure_cmd): make sure we can define inductive datatypes and structures containing untrusted declarations
If they contain untrusted declarations, then the associated
declarations (e.g., constructors) will be automatically tagged as untrusted.
2016-06-02 16:19:06 -07:00
Leonardo de Moura
924f3629ee feat(library/vm): expose name of the C++ functions that implement builtins 2016-06-02 12:48:43 -07:00
Sebastian Ullrich
647078bd40 feat(frontends/lean/pp): add option to hide binder types
Replace old pp.hide_binder_types option

Conflicts:
        src/frontends/lean/pp.cpp
        src/library/pp_options.cpp
        src/library/pp_options.h
2016-06-02 12:01:57 -07:00
Soonho Kong
b95bc8ff5b feat(util/memory.cpp): use COMP_HAS_SIZED_DEALLOCATION macro
To conditionally include sized deallocation definitions.

Related issue #1044
2016-06-02 11:53:08 -07:00
Soonho Kong
962460dbc2 feat(CMakeLists.txt): use compatibility module to check sized_deallocation feacture
related issue #1044

see https://github.com/foonathan/compatibility
2016-06-02 11:52:59 -07:00
Sebastian Ullrich
ac4efdf660 fix(util/memory): add C++14 sized delete operators
Fixes #1044
2016-06-02 11:52:51 -07:00
Lev Nachmanson
5f565cfbe5 dev(lp): fix column_info initialization in lp_solver
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2016-06-02 11:51:52 -07:00
Lev Nachmanson
2aea6066fa dev(lp): refactor the lar_core_solver parameters into a separate struct
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2016-06-02 11:51:45 -07:00
Lev Nachmanson
9680081376 dev(lp): move some dummy field from lar_solver to lar_core_solver
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2016-06-02 11:51:37 -07:00
Lev Nachmanson
1f9ef61839 dev(lp): simplify the design of lar_solver
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2016-06-02 11:51:29 -07:00
Lev Nachmanson
96824e375b dev(lp): add a file
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2016-06-02 11:51:18 -07:00
Lev Nachmanson
c2d795e46a dev(lp): integrate with z3
Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
2016-06-02 11:51:07 -07:00
Leonardo de Moura
06cb26176c feat(library/vm): expose C++ options object 2016-06-02 11:46:17 -07:00
Leonardo de Moura
417e5ec604 chore(library/vm/vm): typo 2016-06-02 11:46:07 -07:00
Leonardo de Moura
a6a7daff59 refactor(library/vm): avoid constants.txt when creating bindings 2016-06-02 11:45:56 -07:00
Leonardo de Moura
a05f8719df fix(library/definitional/equations): fix missing case 2016-06-01 19:28:48 -07:00
Leonardo de Moura
35ed68e3c2 feat(library/meta): add has_to_string instance for 'name' 2016-06-01 19:24:03 -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
4ab84f7374 feat(library/init): add unsigned integer 2016-06-01 13:06:28 -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
e0035f8d29 feat(frontends/lean/print_cmd): do not display meta constants when executing 'print axioms' cmd 2016-06-01 09:58:23 -07:00