Sebastian Ullrich
|
34e00cd5a2
|
refactor(library/attribute_manger): simplify: make every attribute prioritizable
|
2016-08-16 13:49:02 -07:00 |
|
Leonardo de Moura
|
f5c35f8d76
|
chore(*): fix compilation warnings
|
2016-08-10 18:03:13 -07:00 |
|
Leonardo de Moura
|
2736ac48f4
|
fix(library/compiler/inliner): disable problematic optimization
|
2016-08-08 13:59:12 -07:00 |
|
Sebastian Ullrich
|
82657b3b64
|
refactor(library/compiler/inliner, library): replace inline command with attribute
sed -Ei 's/inline (protected )?(meta_)?definition (\S+)/\1\2definition \3 [inline]/' library/**/*.lean
|
2016-08-08 12:45:22 -07:00 |
|
Leonardo de Moura
|
7bb6ccc089
|
refactor(library/init/meta): qexpr ==> pexpr
|
2016-08-05 17:04:36 -07:00 |
|
Leonardo de Moura
|
60c4384d09
|
fix(library/compiler/elim_recursors): buggy way to detect recursive arguments
|
2016-07-06 23:27:04 -07:00 |
|
Leonardo de Moura
|
2b43f591c9
|
fix(library/type_context): remove m_cache_owner field
This idiom creates problem if we use (even accidentally) the copy constructor.
|
2016-06-23 14:03:46 -07:00 |
|
Leonardo de Moura
|
586baa4118
|
feat(library,frontends/lean): support for quoted expressions in the VM, compiler and frontend
TODO: invoke elaborator at tactic.to_expr
|
2016-06-15 16:06:39 -07:00 |
|
Leonardo de Moura
|
165d45ac32
|
fix(library/compiler/erase_irrelevant): monad.return was renamed to monad.ret
|
2016-06-08 16:17:33 -07:00 |
|
Leonardo de Moura
|
2eafe66240
|
fix(library/compiler/lambda_lifting): relax assertion
|
2016-06-06 14:11:05 -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
|
faf70ed58c
|
feat(library/vm/vm): add support for declaring builtin cfunctions
|
2016-05-31 16:48:11 -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
|
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
|
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
|
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
|
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
|
423d129105
|
feat(library/vm/vm): bytecode serialization
|
2016-05-13 17:51:01 -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
|
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
|
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
|
df9352ea6e
|
feat(library/compiler): better support for numeric constants
|
2016-05-12 16:33:37 -07:00 |
|
Leonardo de Moura
|
f2af5828ba
|
refactor(library/compiler): preprocess_rec ==> preprocess
|
2016-05-12 16:03:39 -07:00 |
|
Leonardo de Moura
|
c48a17563c
|
feat(library/vm/optimize): add basic bytecode optimizations
|
2016-05-12 15:24:58 -07:00 |
|
Leonardo de Moura
|
399b83122c
|
refactor(library): move vm to a separate directory
|
2016-05-12 14:45:06 -07:00 |
|
Leonardo de Moura
|
7852247376
|
feat(compiler/simp_inductive): add optimization for inductive datatypes that have only one constructor C, and C has only one relevant field
|
2016-05-12 14:24:14 -07:00 |
|
Leonardo de Moura
|
a9f05abbe7
|
feat(library/compiler,library/vm): add unreachable instruction
|
2016-05-12 14:01:58 -07:00 |
|
Leonardo de Moura
|
0558214b7c
|
fix(library/compiler/vm_compiler): emit code for neutral expr
|
2016-05-12 13:45:05 -07:00 |
|
Leonardo de Moura
|
38bd7e6d10
|
fix(library/compiler/vm_compiler): typo
|
2016-05-12 11:54:38 -07:00 |
|
Leonardo de Moura
|
705317ae77
|
feat(library/compiler): generate bytecode
|
2016-05-11 19:21:47 -07:00 |
|
Leonardo de Moura
|
70cff1a4bd
|
feat(library/compiler/lambda_lifting): avoid unnecessary auxiliary decls
|
2016-05-11 16:34:47 -07:00 |
|
Leonardo de Moura
|
ecc9014d82
|
fix(library/compiler/simp_inductive): check ignore predicate at visit_constant
|
2016-05-11 16:06:21 -07:00 |
|
Leonardo de Moura
|
7ca916cddf
|
feat(library/compiler/simp_inductive): add optimization for _cases based on the number of reachable cases
|
2016-05-11 14:40:53 -07:00 |
|