Leonardo de Moura
fc0ce5b97e
chore(library/aliases, frontends/lean): remove local_ref's
...
We don't need them since we removed parameters
2019-05-27 21:28:22 -07:00
Leonardo de Moura
9aa40e2491
chore(library/aliases): remove dead code
2019-05-27 21:28:22 -07:00
Leonardo de Moura
8c6ae127c9
chore(library/scoped_ext): remove dead code
2019-05-27 21:28:22 -07:00
Leonardo de Moura
0f43c2e2d9
feat(library/init/data/array/basic): efficient heterogeneous Array.map
...
This commit also removes Array.hmap.
Motivation: I wanted to use Array.hmap as an example in the paper, but
I found it would be too distracting to explain why we had `Array.hmap`
and `Array.map`.
cc @kha
2019-05-25 16:32:59 -07:00
Leonardo de Moura
bf3575a316
feat(library/init/lean/compiler/ir): improve expandresetreuse
2019-05-23 17:23:50 -07:00
Leonardo de Moura
f9f4e6c14b
feat(library/init/lean/compiler/ir): add expandresetreuse
2019-05-23 08:58:16 -07:00
Leonardo de Moura
6bed0ca5b5
chore(library/compiler): style
2019-05-22 18:46:37 -07:00
Leonardo de Moura
4d2837430a
fix(library/compiler/emit_cpp): tail call
...
Add temporary hack to fix `emit_tail_call`.
TODO: find a cleaner solution for the new IR compiler.
2019-05-21 23:07:10 -07:00
Leonardo de Moura
f1fbe5cd61
feat(library/compiler/ir): add boxed version for extern constants
2019-05-21 17:55:58 -07:00
Leonardo de Moura
5b3aec088e
feat(library/init/lean/compiler/ir/emitcpp): emit module initialization code
2019-05-21 16:06:10 -07:00
Leonardo de Moura
9f604ee0a1
fix(library/compiler/extern_attribute): register @[extern] projections in the new IR compiler
2019-05-21 13:42:42 -07:00
Leonardo de Moura
3b5093ebe0
fix(library/compiler/ir): fix ret irrelevant
2019-05-21 13:32:11 -07:00
Leonardo de Moura
63d2c03403
fix(library/compiler/ir): lambda IR translator
2019-05-21 13:01:43 -07:00
Leonardo de Moura
dbe2bebc06
fix(library/compiler/extern_attribute): register extern constructors in the new IR compiler
2019-05-21 08:09:05 -07:00
Leonardo de Moura
4ed803c564
feat(library/init/lean/compiler/ir/emitcpp): emit skeletons
2019-05-20 19:08:21 -07:00
Leonardo de Moura
f852cd774f
feat(library/init/lean/compiler/ir): expose C++ primitives for accessing export and extern attributes
2019-05-20 15:49:03 -07:00
Leonardo de Moura
3ffe0e22c8
feat(shel/lean): add temporary option for testing new IR compiler code emitter
2019-05-20 10:19:09 -07:00
Leonardo de Moura
c0b3c71c4d
chore(library/compiler): remove dead code
2019-05-20 08:13:52 -07:00
Leonardo de Moura
83692eef6d
feat(library/init/lean/compiler/ir): explicit RC
2019-05-19 16:46:51 -07:00
Leonardo de Moura
300c251b49
feat(library/init/lean/compiler/ir): add explicitBoxing to new IR compiler stack
2019-05-19 08:10:45 -07:00
Leonardo de Moura
b0c6d1c6a7
fix(library/compiler/ir): assertion violation
2019-05-18 11:33:35 -07:00
Leonardo de Moura
ca818e6850
feat(library/init/lean/compiler/ir): add borrow inference
2019-05-18 10:48:26 -07:00
Leonardo de Moura
c9bcd4990c
feat(library/compiler): register extern constants into the new IR
2019-05-17 17:12:51 -07:00
Leonardo de Moura
9a3a01fa6e
feat(library/compiler/compiler): invoke new IR compiler implemented in Lean
2019-05-16 16:08:52 -07:00
Leonardo de Moura
9d7191feca
chore(library/compiler): remove support for fully boxed
2019-05-16 15:48:33 -07:00
Leonardo de Moura
ac69f802e1
feat(library/compiler): interface with new IR compiler entry point
2019-05-16 15:41:47 -07:00
Leonardo de Moura
aa138fe686
chore(*): get_obj_arg => to_obj_arg
2019-05-16 14:42:02 -07:00
Leonardo de Moura
9d9f546ad8
refactor(util/sexpr): move options and option_declarations to util
2019-05-16 14:37:24 -07:00
Leonardo de Moura
9c4da289b2
refactor(util/sexpr/options): options as a Lean object
2019-05-16 14:27:44 -07:00
Leonardo de Moura
31d4fa9f71
chore(util/sexpr/options): shrink options API
...
Motivation: move to the Lean implementation
2019-05-16 14:08:11 -07:00
Leonardo de Moura
739008f8d4
chore(library/init/lean/compiler/llnf): disable
...
I am going to refactor the interface with the new IR compiler.
2019-05-15 19:02:51 -07:00
Leonardo de Moura
9b3421b63b
feat(library/compiler/closed_term_cache): remove C++ implementation and use Lean one
2019-05-15 15:33:46 -07:00
Leonardo de Moura
bc809643ec
feat(library/init/lean/expr): add Expr.quickLt, Expr.eqv
2019-05-15 11:01:25 -07:00
Leonardo de Moura
c957450d05
feat(library/protected): replace C++ implementation with Lean one
2019-05-14 16:12:56 -07:00
Leonardo de Moura
5df0b05cc7
chore(library/init/lean/environment): remove get_modifications_core
2019-05-14 11:26:04 -07:00
Leonardo de Moura
edeae776da
chore(library/module): module::add for declarations is not needed anymore
2019-05-14 11:23:35 -07:00
Leonardo de Moura
7696c28fe1
feat(library/module): module manager in Lean is alive
2019-05-14 11:10:49 -07:00
Leonardo de Moura
642c4c59bd
feat(library/init/lean/environment): support for serializing/performing legacy modification objects
2019-05-14 10:08:31 -07:00
Leonardo de Moura
67d14705b0
chore(library/module): simplify write_module
2019-05-14 08:08:09 -07:00
Leonardo de Moura
427852d759
feat(library/init/lean/environment): add findOLean
2019-05-14 08:02:26 -07:00
Leonardo de Moura
e616def866
chore(library/module): remove dead declaration
2019-05-14 07:53:44 -07:00
Leonardo de Moura
22d2848d21
chore(library/module): store search_path in a global variable
...
Remark: I will use it to expose the following primitive in Lean
```
constant findOLean : Name -> IO String
```
2019-05-14 07:49:00 -07:00
Leonardo de Moura
1a610607b1
chore(library/module): remove old comment
2019-05-14 07:37:20 -07:00
Leonardo de Moura
358b731581
chore(library/module): simplify import_modules
...
Remark: `lean.cpp` is a total mess at this point. It contains
leftovers from the Lean2 and Lean3 designs, and hacks for supporting
the Lean4 transition.
2019-05-14 07:26:50 -07:00
Leonardo de Moura
9596fae665
chore(library/module): remove import errors
2019-05-14 07:13:50 -07:00
Leonardo de Moura
53ec9ee181
chore(*): style
2019-05-14 07:08:58 -07:00
Leonardo de Moura
5844913102
feat(library/module, library/init/lean/environment): add primitives for reading/writing files as compacted regions
2019-05-13 17:26:28 -07:00
Leonardo de Moura
40f9704540
chore(library/init/lean/environment): add placeholders for writing/reading .olean files
2019-05-13 15:48:23 -07:00
Leonardo de Moura
31d140adab
refactor(library/module): use Lean modification list environment extension
2019-05-13 15:26:28 -07:00
Leonardo de Moura
3b3e50d315
chore(library/module): std::shared_ptr<modification> ==> modification*
...
Remark: this commit introduce memory leaks, but this is just an
intermediate step to get modification objects in Lean.
Recall that, we will eventually remove modification objects from Lean.
2019-05-13 15:05:21 -07:00