lean4-htt/library/init/lean
Leonardo de Moura ed4cd39d59 feat(library/init/lean/compiler/ir): new IR for Lean
It is currently implemented in C++. The plan is to move the procedures
for inserting inc/dec, reset/reuse, and inferring borrow inferences to
Lean. Another goal is to make sure new IR optimizations can be
implemented in Lean, and to avoid backend optimizations that would
have to be duplicated in each backend (e.g., `emit_proj_inc_reset_seq`
at `emit_cpp.cpp`).

cc @kha
2019-03-04 16:46:10 -08:00
..
compiler feat(library/init/lean/compiler/ir): new IR for Lean 2019-03-04 16:46:10 -08:00
ir feat(library/init/lean/ir): remove support for functions with multiple return values 2018-10-22 17:39:40 -07:00
parser feat(library/init/data/char): use uint32 instead of nat for defining char 2019-02-15 18:07:55 -08:00
config.lean feat(library/init/lean): add lean.closure_max_args 2018-05-13 08:40:46 -07:00
declaration.lean feat(kernel): save constructor idx and nfields at constructor_val 2018-09-14 13:45:58 -07:00
default.lean fix(library/init/lean/default): missing file 2019-02-14 15:21:53 -08:00
disjoint_set.lean feat(library/init/lean/ir): add elim_phi function 2018-05-06 10:07:44 -07:00
elaborator.lean feat(library/init/lean/elaborator): to_pexpr: support string literals 2019-02-14 14:07:05 -08:00
expander.lean fix(library/init/lean/expander): fix let expansion again 2019-01-22 11:16:00 +01:00
expr.lean feat(library/init/lean/compiler): fold nat predicates 2019-02-15 16:17:16 -08:00
extern.lean feat(library/init/data/char): use uint32 instead of nat for defining char 2019-02-15 18:07:55 -08:00
format.lean refactor(frontends/lean/elaborator): mark thunk as opaque, and thunk A to A is now a coercion 2018-08-21 15:27:51 -07:00
frontend.lean feat(library/init/lean/frontend): rework error reporting 2019-02-12 13:34:32 +01:00
kvmap.lean feat(library/init/lean): add kvmap 2018-06-15 16:05:11 -07:00
level.lean feat(library/init/lean/compiler): fold nat predicates 2019-02-15 16:17:16 -08:00
message.lean refactor(library/init/lean): remove duplicate position type, rename pos to position 2018-12-20 15:32:46 +01:00
name.lean perf(library/init/lean/name): use hash code to speedup name.quick_lt 2019-03-04 12:48:06 -08:00
name_mangling.lean feat(library/init/data/char): use uint32 instead of nat for defining char 2019-02-15 18:07:55 -08:00
options.lean feat(library/init/lean): add kvmap 2018-06-15 16:05:11 -07:00
position.lean perf(library/init/lean/position): add file_map cache for position conversion 2018-12-20 15:32:46 +01:00
trace.lean refactor(library/init/lean): remove duplicate position type, rename pos to position 2018-12-20 15:32:46 +01:00