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
Sebastian Ullrich
305984bab5
feat(frontends/lean/elaborator): show context of unassigned mvars
2018-10-08 09:32:41 -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
cf5141f8ad
chore(library/vm/vm): fix style
2018-10-03 13:25:54 -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
13f0a7cd81
chore(frontends/lean, library/vm): save some debugging help code
2018-10-03 13:20:24 -07:00
Leonardo de Moura
9f161e6968
fix(library,kernel): the new proj_sname field must be taken into account during comparisons
...
`proj_sname` is not just for enabling better pretty printing. It is
necessary in the compiler when type information is lost, and we can't
infer the type of a `proj`-term argument (field `proj_expr`).
2018-10-03 13:11:46 -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
3ac6eab393
chore(library/vm): remove vm_list
2018-10-02 08:44:05 -07:00