Leonardo de Moura
64adc4c798
feat(library/metavar_context): use MetavarContext implemented in Lean
2019-08-10 08:03:13 -07:00
Leonardo de Moura
aeae37eb81
feat(library/init/lean/metavarcontext): missing functions
2019-08-09 21:04:34 -07:00
Leonardo de Moura
99d4b33559
feat(library/metavar_context): metavar_decl as Lean object
2019-08-09 20:38:59 -07:00
Leonardo de Moura
5dd3b67a75
feat(library/metavar_context): delayed_assignment as Lean object
2019-08-09 20:30:52 -07:00
Leonardo de Moura
d924aab766
feat(library/init/lean/metavarcontext): export functions to C++
2019-08-09 20:09:11 -07:00
Leonardo de Moura
d1671ffcea
chore(library): remove dead code
2019-08-09 16:08:51 -07:00
Leonardo de Moura
b8cd88a827
chore(library/init): delete dead files
2019-08-09 10:35:38 -07:00
Sebastian Ullrich
de5c7cbff0
fix(shell/CMakeLists): bin_lean_stage0 should not be part of the default target as it conflicts with bin_lean
...
/cc @leodemoura
2019-08-09 16:43:19 +02:00
Leonardo de Moura
4aed3e51b5
chore(stage0): update
2019-08-09 07:40:54 -07:00
Sebastian Ullrich
3ed67138d5
chore(*): update equation syntax in files and old parser
...
for f in ../../**/*.lean; do echo $f; ./patch.lean.out $f > tmp && cat tmp > $f; done
2019-08-09 11:11:34 +02:00
Leonardo de Moura
30fc07014e
chore(stage0): update
2019-08-07 17:46:48 -07:00
Leonardo de Moura
bf2a365501
chore(library/compiler/compiler): remove dead code
2019-08-07 17:24:07 -07:00
Leonardo de Moura
748e272dcb
chore(stage0): update
2019-08-07 17:20:40 -07:00
Leonardo de Moura
73f96730bb
feat(library/init/lean,kernel): add KernelException, addDecl and compileDecl
...
This commit also refines the type of `addAndCompile`.
We also add `ElabException.kernel` constructor for kernel exceptions.
2019-08-07 17:15:40 -07:00
Leonardo de Moura
d707026cd8
feat(library/local_context): ensure local_context is just a wrapper for LocalContext
...
This is a temporary hack. After we eliminate the old elaborator,
we will delete the C++ class `local_context`.
In Lean4, we will not have two different kinds of local context:
`local_ctx` and `local_context`.
2019-08-07 13:11:08 -07:00
Leonardo de Moura
8ac58a66f8
chore(library/abstract_type_context): remove unnecessary virtual method only used at old pp.cpp
2019-08-07 12:05:10 -07:00
Leonardo de Moura
fcba361bdf
chore(stage0): update
2019-08-07 11:56:17 -07:00
Leonardo de Moura
ae97cfdd68
feat(kernel/local_ctx): use LocalContext
2019-08-07 11:50:20 -07:00
Leonardo de Moura
3967496ac9
chore(library/init/lean/default): make sure new modules are initialized
2019-08-07 07:14:09 -07:00
Leonardo de Moura
7a2ac23497
chore(library/init/lean/localcontext): export functions
2019-08-06 18:14:03 -07:00
Leonardo de Moura
bad3f8e77e
chore(kernel/local_ctx): use new representation defined at localcontext.lean
2019-08-06 10:47:50 -07:00
Leonardo de Moura
2343260ca5
chore(stage0): update
2019-08-06 10:39:02 -07:00
Leonardo de Moura
b27f215b9a
chore(library/local_context): simplify pp
2019-08-06 10:27:10 -07:00
Leonardo de Moura
f1eaebba31
fix(library/compiler/csimp): bug at float_cases_on
...
The scope of the expr2ctor cache updates was incorrect.
This bug affects code of the form
```
let x := C.cases_on y ...; K[x]
```
when we try to float the `cases_on` application, and the continuation
`K[x]` contains another `cases_on` application with major `y`.
The new test exposes the bug.
This commit also fixes the case where the continuation `K[x]` projects `y`.
Fixes #26
2019-08-05 13:23:27 -07:00
Leonardo de Moura
99e90f0410
chore(library/compiler): add trace.compiler.simp_float_cases option
2019-08-05 13:13:18 -07:00
Leonardo de Moura
215a3ac8fd
chore(library/tactic/clear_tactic): remove dead code
2019-08-05 08:58:59 -07:00
Leonardo de Moura
1b426db5d9
chore(stage0): update
2019-08-04 13:25:25 -07:00
Leonardo de Moura
34024256ab
chore(library/init/lean/expr): simplify Expr.mvar constructor
2019-08-04 13:24:27 -07:00
Leonardo de Moura
4181f35546
chore(stage0): update
2019-08-04 09:30:52 -07:00
Leonardo de Moura
8a8b45b6e0
chore(stage0): update
2019-08-04 08:41:19 -07:00
Leonardo de Moura
1ef23950a4
chore(library/init/lean/expr): expose temporary legacy constructor
2019-08-04 08:03:09 -07:00
Leonardo de Moura
41d8cd9eb9
chore(kernel/expr): remove depth and weight fields
...
These fields were rarely used, but they were used in the hash code
calculation. So, we may see a negative performance impact.
There is also a positive performance impact since `Expr` consumes less
memory, and it is faster to allocate them.
2019-08-03 11:05:01 -07:00
Leonardo de Moura
7f142ac7e3
chore(kernel/expr): hide get_weight and get_depth
2019-08-03 10:57:30 -07:00
Leonardo de Moura
d2f169a211
chore(library/init/lean/parser/parser): remove unnecessary unsafe code
2019-08-02 14:32:47 -07:00
Leonardo de Moura
1be9ee97be
chore(stage0): update
2019-08-02 14:26:22 -07:00
Leonardo de Moura
9e53db95ba
chore(CMakeLists): set default to OFF
...
@joehendrix I changed the default to `LLVM=OFF` for now to avoid
disrupting existing projects. It will become `LLVM=ON` after we have
tested it more, and have the JIT integrated.
@kha Could you please set a new Azure pipeline job for `LLVM=ON`?
2019-08-01 10:15:43 -07:00
Joe Hendrix
a113832342
chore(CMakeLists): Typo
2019-07-31 18:21:49 -07:00
Joe Hendrix
37ff241467
feat(CMakeLists): Add option to link in LLVM.
...
This updates cmake and Lean to link against the LLVM libraries.
2019-07-31 18:21:49 -07:00
Leonardo de Moura
1016309d1f
feat(library/init/lean/path): always add builtin search path
...
We also add "." (i.e., current directory) if `LEAN_PATH` is not defined.
Users may still override stdlib since we add the builtin search path in the end.
@dselsam You should now be able to compile your project without setting `LEAN_PATH`
cc @kha
2019-07-31 18:13:17 -07:00
Leonardo de Moura
b221b09ad5
chore(library/init, frontends/lean): ensure old and new parser use the same command for initializing quotient module
2019-07-31 17:07:05 -07:00
Leonardo de Moura
b0c84874ba
chore(runtime/compact): add additional comments
2019-07-30 17:58:15 -07:00
Sebastian Ullrich
55104ad0c6
chore(library/compiler/csimp): remove wrong assertion
2019-07-30 17:52:43 -07:00
Sebastian Ullrich
2c12f9d0f6
chore(runtime/object): LEAN_FAKE_FREE: assert on double-free
2019-07-30 17:52:43 -07:00
Sebastian Ullrich
d09c512784
chore(library/module): lsan: ignore module objects
2019-07-30 17:52:43 -07:00
Sebastian Ullrich
20b6502aaf
fix(runtime/compact): badly aligned "field" in terminator
2019-07-30 17:52:43 -07:00
Leonardo de Moura
2f5b2b2409
feat(library/init/lean/path): add realPathNormalized
2019-07-28 20:52:41 -07:00
Leonardo de Moura
4b10f09baf
chore(stage0): update
2019-07-28 20:13:01 -07:00
Leonardo de Moura
6cf8571e37
feat(library/init/system/platform): add System.Platform.isOSX
2019-07-28 19:49:40 -07:00
Leonardo de Moura
17e5f0b719
chore(stage0): update
2019-07-28 09:54:57 -07:00
Leonardo de Moura
fb14110b22
fix(library/compiler/llnf): sort scalar fields by size to avoid UB
2019-07-28 09:53:53 -07:00