Leonardo de Moura
15a25d5aa9
chore(library/init/lean/parser): add a few comments
2018-10-11 15:54:57 -07:00
Leonardo de Moura
c74f4c16ca
feat(library/kernel,library/compiler/csimp): make sure nat.rec and nat.cases_on reduce when major premise is a nat literal
2018-10-10 18:35:15 -07:00
Leonardo de Moura
338038a05e
feat(library/init/core): add inline identity function
2018-10-10 18:17:29 -07:00
Leonardo de Moura
be0b4c998f
fix(library/compiler/lcnf): avoid unnecessary let-decl
2018-10-10 17:33:57 -07:00
Leonardo de Moura
bbb45bfc95
fix(library/compiler/csimp): another join-point management bug
2018-10-10 13:42:32 -07:00
Leonardo de Moura
18093f3f24
feat(library/compiler/csimp): eta-expand lambda-expressions during simplification
2018-10-09 19:16:41 -07:00
Leonardo de Moura
e958f20874
fix(library/compiler/csimp): beta_reduce was not preserving the "join-point" invariant
2018-10-09 19:11:16 -07:00
Leonardo de Moura
256112be5b
chore(library/compiler/lcnf): disable lambda eta-expansion during LCNF conversion
...
We should do it at `csimp`
2018-10-09 15:25:57 -07:00
Leonardo de Moura
27e6f7f424
feat(library/compiler): invoke specialize skeleton
2018-10-09 15:23:42 -07:00
Leonardo de Moura
5d726eb210
feat(library/compiler/compiler): switch to new compiler frontend
...
We also rename `vm_compiler` module to `emit_bytecode`.
We will eventually replace this module with the new IR emitter.
2018-10-08 17:38:17 -07:00
Leonardo de Moura
662c0ebb31
feat(library/compiler/compiler): cache stage1
2018-10-08 17:06:45 -07:00
Leonardo de Moura
124b4d37fe
feat(library/compiler): port simp_inductive to the new compiler stack
...
This commit also fixes a bug in the old `simp_inductive` module, and
removes now obsolete files (`compiler_step_visitor` and `old_util`).
2018-10-08 16:58:43 -07:00
Leonardo de Moura
d2fcb7af39
chore(library/compiler/compiler): add tracing to new compiler frontend
2018-10-08 15:22:36 -07:00
Leonardo de Moura
787d1ecb93
feat(library/compiler/lambda_lifting): new lambda lifting
2018-10-08 15:04:59 -07:00
Leonardo de Moura
fc62e8f3a4
chore(library/compiler): cdecl ==> comp_decl
2018-10-05 17:30:27 -07:00
Leonardo de Moura
d75b1c57bf
chore(library/compiler/preprocess): remove dependency
2018-10-05 17:30:27 -07:00
Leonardo de Moura
b1f98e8f38
feat(library/compiler/lcnf): eta expand lambdas
2018-10-05 17:30:27 -07:00
Leonardo de Moura
4fd546c132
feat(library/compiler): remove old extract_values
2018-10-05 17:30:27 -07:00
Leonardo de Moura
2eea3d4c4b
chore(library/compiler): simplify procedure class
...
Remark: `procedure` will be deleted soon.
2018-10-05 17:30:27 -07:00
Leonardo de Moura
dc5dbb3b81
chore(library/compiler): remove dead code
2018-10-05 17:30:27 -07:00
Leonardo de Moura
d93b2a2656
chore(library/compiler): remove dead code
2018-10-05 17:30:27 -07:00
Leonardo de Moura
335b37d480
chore(library/compiler): remove old reduce_arity
2018-10-05 17:30:27 -07:00
Leonardo de Moura
6b8008a222
feat(library/compiler): new compiler entry point (skeleton)
2018-10-05 17:30:27 -07:00
Leonardo de Moura
1d1efdd5f3
chore(library/compiler/preprocess): remove dead global
2018-10-05 17:30:27 -07:00
Leonardo de Moura
a21dac4384
chore(library/compiler/vm_compiler): remove option
2018-10-05 17:30:27 -07:00
Leonardo de Moura
135a8d7508
chore(library/compiler): remove old compiler steps that have already been replaced
2018-10-05 17:30:27 -07:00
Leonardo de Moura
e18af852c8
feat(library/compiler): add code specialization skeleton
2018-10-05 17:30:27 -07:00
Leonardo de Moura
66fe6463fe
fix(library/compiler/csimp): missing mk_let
2018-10-04 15:25:03 -07:00
Leonardo de Moura
78842d4b9b
fix(library/compiler/util): macro_inline was ignoring constants
2018-10-04 15:25:03 -07:00
Leonardo de Moura
08425c456a
chore(library/compiler/preprocess): remove dead code
2018-10-03 16:22:44 -07:00
Leonardo de Moura
adfc0e28ea
feat(library/compiler/erase_irrelevant): missing is_irrelevant checks, missing terms being visited, mixing erased with non-erased terms
2018-10-03 16:22:44 -07:00
Leonardo de Moura
826e63873e
feat(library/compiler/preprocess): use new compiler stack that has already been implemented
2018-10-03 13:24:01 -07:00
Leonardo de Moura
1b95cbeca1
fix(library/compiler/simp_inductive): adjust kernel projections
2018-10-02 18:56:13 -07:00
Leonardo de Moura
c9aab6ef50
feat(library/compiler): register noinline attribute
2018-10-02 18:56:13 -07:00
Leonardo de Moura
fa906c6bda
fix(library/compiler/lambda_lifting): use user_name
2018-10-02 18:56:13 -07:00
Leonardo de Moura
e89e0075a5
fix(library/compiler/lcnf): do not expand projections of builtin types
2018-10-02 18:56:13 -07:00
Leonardo de Moura
cd8dc8670d
fix(library/compiler/erase_irrelevant): visit_constant
2018-10-02 18:56:13 -07:00
Leonardo de Moura
49425aa80c
fix(library/compiler/erase_irrelevant): assertion violation
2018-10-02 18:56:13 -07:00
Leonardo de Moura
24bd5782e0
fix(library/compiler/erase_irrelevant): make sure lambda that return irrelevant data is marked as irrelevant
2018-10-02 18:56:13 -07:00
Leonardo de Moura
85c58e8f0e
feat(library/compiler): add support for string literals in the old VM
2018-10-02 18:56:13 -07:00
Leonardo de Moura
dc937281b3
chore(library/init/string): remove string.iterator_imp
2018-10-02 13:46:01 -07:00
Leonardo de Moura
fd46adb7b3
fix(library/compiler/erase_irrelevant): minor issues
2018-10-02 13:36:48 -07:00
Leonardo de Moura
20e7edd4ac
feat(library/compiler): erase trivial structures and flat cases on structures
2018-10-02 11:05:15 -07:00
Leonardo de Moura
c3569dc72d
feat(kernel): store structure name in proj-expressions
2018-10-02 09:23:11 -07:00
Leonardo de Moura
c05e7a31a3
chore(library/compiler): add is_runtime_scalar_type and is_runtime_builtin_type
2018-10-02 09:03:53 -07:00
Leonardo de Moura
fbe702510d
fix(library/compiler/csimp): missing projection of instance simplification
2018-10-01 17:23:29 -07:00
Leonardo de Moura
25b45d6f9e
feat(library/compiler): add erase_irrelevant transformation to new compiler stack
2018-10-01 17:06:56 -07:00
Leonardo de Moura
efa77c2a5b
fix(library/compiler/inliner): bug in the old compiler
...
The bug was being masked by the `elim_recursors` transformation.
When this transformation was used, the bug would manifest itself as a
performance bug.
2018-10-01 14:17:11 -07:00
Leonardo de Moura
e466ecd263
chore(library/compiler/lambda_lifting): fix debug mode compilation errors
2018-10-01 14:17:11 -07:00
Leonardo de Moura
b4c2861939
refactor(library/compiler): rename "erasure normal form" functions
2018-10-01 14:17:11 -07:00