Leonardo de Moura
b1f9b7cd4d
feat: add AbstractMVars
2019-11-27 09:45:40 -08:00
Leonardo de Moura
005d03fc3d
feat: remove ignoreImplict workaround
2019-11-27 06:54:55 -08:00
Leonardo de Moura
32c066946b
chore: udpate stage0
2019-11-27 05:54:40 -08:00
Sebastian Ullrich
d5f30ddb83
fix: update-stage0
2019-11-27 05:53:22 -08:00
Sebastian Ullrich
98b83e96cb
chore: do not build bin_lean_stage2 by default
2019-11-27 05:53:22 -08:00
Sebastian Ullrich
682ad9f605
feat: stage 2 and 3 builds
...
While stage 1 is still the main build and the source of `bin/lean`, we now have optional targets
* lean_stage2, lean_stage3: build respective executable in `<build>/shell` from previous stage, compiling the stdlib
from scratch
* bin_lean_stage2: copy `lean_stage2` to `bin/` (stage 3 should always be identical to stage 2)
2019-11-27 05:53:22 -08:00
Sebastian Ullrich
2ad21d0f4c
feat: have --make take an optional .olean filename argument
...
Not documented since it is mostly useful for internal builds of further bootstrap stages
2019-11-27 05:53:22 -08:00
Leonardo de Moura
e99f8a9d22
chore: naming convention
...
suffix `?` should only be used for functions/methods returning `Bool`.
2019-11-27 05:50:31 -08:00
Leonardo de Moura
dfbc9cb8b5
chore: update stage0
2019-11-27 05:45:35 -08:00
Leonardo de Moura
e8bd90a753
fix: performance issue introduced by 2809cea147
2019-11-27 05:43:28 -08:00
Leonardo de Moura
a5cf1ac5ae
chore: fix tests
2019-11-26 18:07:13 -08:00
Leonardo de Moura
e45211f31c
test: display discrimination tree containing type class instances
2019-11-26 18:00:31 -08:00
Leonardo de Moura
e08c6def07
chore: update stage0
2019-11-26 17:57:21 -08:00
Leonardo de Moura
42fcf6e6e8
feat: add parameter ignoreImplicit
2019-11-26 17:56:07 -08:00
Leonardo de Moura
734a3001da
chore: update stage0
2019-11-26 17:32:05 -08:00
Leonardo de Moura
2809cea147
chore: remove DecidableEq workaround
...
We have better indexing now.
2019-11-26 17:30:18 -08:00
Leonardo de Moura
9a160a197a
fix: addGlobalInstance
2019-11-26 17:19:03 -08:00
Leonardo de Moura
6abf0ddf1a
chore: update stage0
2019-11-26 17:02:51 -08:00
Leonardo de Moura
81278c1509
feat: add instanceExtension
...
Use discrimination trees indexing type class instances.
2019-11-26 17:01:36 -08:00
Leonardo de Moura
55ab0f29e9
feat: break insert into two steps
...
Only the first step `Expr -> Array Key` requires the `MetaM` monad.
Motivation: we can save `(Array Key, Expr)` into .olean files, and
import modules without using `MetaM`.
2019-11-26 17:01:36 -08:00
Leonardo de Moura
f9376fe04b
feat: add withNewMCtxDepth
2019-11-26 17:01:36 -08:00
Leonardo de Moura
04417fafe8
chore: add missing instance
2019-11-26 17:01:36 -08:00
Leonardo de Moura
1f815ac521
feat: add forallMetaTelescope
2019-11-26 17:01:36 -08:00
Leonardo de Moura
4162eb1e08
fix: typo
2019-11-25 15:53:08 -08:00
Leonardo de Moura
856fb0c000
feat: use isProofQuick to implement isDefEqProofIrrel
2019-11-25 08:42:23 -08:00
Leonardo de Moura
292603f8bb
chore: remove ParamInfo.proof field
...
It is an approximation because of dependent types.
Moreover, the new `isProofQuick` should make `isProof` much cheaper.
2019-11-25 08:42:23 -08:00
Leonardo de Moura
ec0eed582e
chore: use isProof
2019-11-25 08:42:23 -08:00
Leonardo de Moura
120778585d
feat: add isProofQuick
2019-11-25 08:42:23 -08:00
Leonardo de Moura
0592dae46f
chore: rename confusing field name ParamInfo.prop ==> ParamInfo.proof
...
The type of the parameter is a proposition, but the parameter itself
is a proof.
2019-11-25 08:42:23 -08:00
Leonardo de Moura
882db55d11
feat: add reduce
2019-11-25 08:42:23 -08:00
Leonardo de Moura
0a7504a71a
feat: add isType and isProof
2019-11-25 08:42:23 -08:00
Sebastian Ullrich
cf0808c0c3
doc: update ccache docs
2019-11-25 14:09:42 +01:00
Sebastian Ullrich
df3112d54d
chore: fix one more benchmark
2019-11-25 12:47:42 +01:00
Sebastian Ullrich
fe3e8022a5
chore: update benchmarks
2019-11-25 10:42:14 +01:00
Leonardo de Moura
9a4facac29
feat: simplify Key.lt
2019-11-24 08:59:38 -08:00
Leonardo de Moura
2cf3e197aa
test: add getUnify basic tests
2019-11-24 08:41:00 -08:00
Leonardo de Moura
6af26ede2b
fix: typo
2019-11-24 08:37:43 -08:00
Leonardo de Moura
0350c488d5
refactor: add Key.arity and simplify
2019-11-24 08:35:31 -08:00
Leonardo de Moura
e81f38c116
doc: add comment about representation
2019-11-24 08:17:44 -08:00
Leonardo de Moura
5842366416
feat: add DiscrTree.getUnify
2019-11-24 08:15:10 -08:00
Leonardo de Moura
c5afa18469
feat: add DiscrTree.getMatch
2019-11-24 07:56:57 -08:00
Leonardo de Moura
63a2466a03
fix: typo
2019-11-24 07:48:19 -08:00
Leonardo de Moura
2afb60cc07
fix: typo
2019-11-24 06:59:52 -08:00
Leonardo de Moura
8d30b7d3fb
doc: document DiscrTree module
2019-11-24 06:51:17 -08:00
Leonardo de Moura
63d3429246
fix: reducibility setting should not hide non-definitions (constructors, inductive types, etc)
2019-11-23 09:36:22 -08:00
Leonardo de Moura
4a6d0a8082
feat: projections of classes should not be reducible
2019-11-23 09:25:49 -08:00
Leonardo de Moura
c1b9c2252c
chore: update stage0
2019-11-23 09:09:10 -08:00
Leonardo de Moura
84d582bf9a
feat: add DiscrTree.insert
2019-11-23 09:07:21 -08:00
Leonardo de Moura
c6048f0f94
feat: generalize binInsert
2019-11-23 08:20:20 -08:00
Leonardo de Moura
013bc5b589
feat: add modifyM
2019-11-23 07:37:33 -08:00