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
Leonardo de Moura
2e3604e80a
chore(library/module): remove unnecessary field module_ext::m_imported
2019-05-13 14:34:03 -07:00
Leonardo de Moura
edb4d76ecd
feat(kernel/environment): environment as a Lean object
2019-05-13 12:41:33 -07:00
Leonardo de Moura
f1d16c261d
fix(library/compiler/csimp): do not inline constants with [init] attribute
2019-05-11 17:51:46 -07:00
Leonardo de Moura
06390337c6
chore(library/module): fix linker error
2019-05-11 17:08:58 -07:00
Leonardo de Moura
06727e9ca4
chore(kernel/environment): remove dead code
2019-05-10 16:37:13 -07:00
Leonardo de Moura
fd2a5dd45e
feat(library/init/io): add IO.initializing
2019-05-10 11:26:49 -07:00
Leonardo de Moura
f6b3bc868a
fix(library/init/lean/environment, library/compiler): compilation error and add [implementedBy] attribute
2019-05-10 07:22:56 -07:00
Leonardo de Moura
fd487d8db7
chore(*): remove old VM
2019-05-08 15:15:44 -07:00
Leonardo de Moura
74fb8e627a
feat(library/init/lean/compiler/ir/checker): improve IR checker
2019-05-08 05:47:25 -07:00
Leonardo de Moura
b41d7ec98b
chore(library/compiler/ir): style
2019-05-07 15:20:56 -07:00
Leonardo de Moura
2363fdf544
refactor(library/init/lean/compiler/ir): remove redundant field from FnBody.jdecl
...
The result type of a join point is always equal to the function return
type. Moreover, the extra bookkeeping introduces extra work, and doesn't
really help.
2019-05-07 12:26:11 -07:00
Leonardo de Moura
0d1a0c8b6e
chore(library): toBool ==> decide
...
We want to define a type class similar to Haskell's `ToBool`.
2019-05-06 14:02:15 -07:00
Leonardo de Moura
04670c4127
fix(library/compiler/struct_cases_on): bug and missing case
2019-05-03 20:03:03 -07:00
Leonardo de Moura
9b50e9d003
feat(library/compiler/find_jp): locate (and preserve) join points created by user
2019-05-02 17:20:19 -07:00
Leonardo de Moura
76a49ec256
chore(library/compiler): add ir::test
2019-05-02 14:40:04 -07:00
Leonardo de Moura
e52e787ad5
fix(library/init/lean/compiler/pushproj): bug and cleanup
2019-05-01 21:01:03 -07:00
Leonardo de Moura
45d09d3044
fix(library/compiler/ir): bug at LLNF -> IR
2019-05-01 17:38:44 -07:00
Leonardo de Moura
ed5e461130
feat(library/init/lean/compiler/ir): add maxVar
2019-05-01 17:38:44 -07:00
Leonardo de Moura
2614b95a8b
refactor(library/init/lean/compiler/ir): use Nat instead of Name for local vars
2019-05-01 17:38:44 -07:00
Leonardo de Moura
0c9fa13763
feat(library/init/lean/compiler): convert LLNF into Lean IR
2019-04-30 17:55:43 -07:00
Leonardo de Moura
952eb0f515
feat(library/compiler): C++ API for Lean IR
2019-04-29 18:23:19 -07:00
Leonardo de Moura
35317139fd
chore(library/compiler/util): style
2019-04-26 16:34:22 -07:00
Leonardo de Moura
e1a84d2f2c
fix(library/compiler/struct_cases_on): performance problem exposed by badupdate1.lean
2019-04-26 16:30:19 -07:00
Leonardo de Moura
3c52183e3c
fix(library/compiler/struct_cases_on): bug
2019-04-26 15:04:16 -07:00
Leonardo de Moura
f222dc7cca
feat(library/compiler): destructive updates for {x with ...} expressions
2019-04-22 13:35:11 -07:00