Leonardo de Moura
4788c8c52c
chore(library/type_context): remove dead code
2018-10-12 11:57:41 -07:00
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
e75d8eacb6
fix(frontends/lean/elaborator): compilation erros with g++ 4.9
2018-10-08 11:54:28 -07:00
Sebastian Ullrich
305984bab5
feat(frontends/lean/elaborator): show context of unassigned mvars
2018-10-08 09:32:41 -07:00
Sebastian Ullrich
50e6b42f8c
fix(frontends/lean/elaborator): ensure_no_unassigned_metavars: only check mvars in parameter
...
Had forgotten to re-check the standard lib...
2018-10-07 21:11:02 -07:00
Sebastian Ullrich
aea86eb828
feat(frontends/lean/elaborator): simple, accurate mvar error position tracking
...
The accuracy of `m_last_pos` still needs to be improved at some point
2018-10-05 21:25:39 -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
d29e95af08
fix(util/list_ref): typo
2018-10-05 17:30:27 -07:00
Leonardo de Moura
be6324e183
chore(util/list_ref): missing include
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
Sebastian Ullrich
c50b89a318
fix(frontends/lean/elaborator): node!/node_choice!: use constant options for printing-parsing
2018-10-04 14:27:24 -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