Commit graph

4658 commits

Author SHA1 Message Date
Leonardo de Moura
9baf91e641 feat: add Level.isEquiv 2019-10-21 10:56:59 -07:00
Leonardo de Moura
d18305297d feat: add Expr.getAppRevArgs 2019-10-21 10:49:01 -07:00
Leonardo de Moura
447482e489 refactor: use Array instead of List at mkApp and getAppArgs
Preparation for new unifier.

@dselsam: I had to make minor changes at `Synth.Lean`, and add messy
code to `Context.lean`. `Context.lean` will be deleted in the future.
So, it is not a big deal.
2019-10-21 09:12:36 -07:00
Daniel Selsam
8b7975fab8 test: add (perf) test for typeclass append 2019-10-19 18:07:37 -07:00
Leonardo de Moura
1f8370c67d test: issue reported by Reid 2019-10-19 13:26:47 -07:00
Sebastian Ullrich
9160949df3 test: fix test 2019-10-18 13:47:23 +02:00
Sebastian Ullrich
9b55687597 fix: show #eval errors 2019-10-18 13:10:13 +02:00
Leonardo de Moura
104b4a1ce2 test: document another elab issue 2019-10-15 09:41:07 -07:00
Sebastian Ullrich
2866824b51 test: capture stderr as well
This might or might not give more information on randomly failing tests on CI
/cc @leodemoura
2019-10-15 17:36:28 +02:00
Leonardo de Moura
0c3c5bf82f tests: add more issues 2019-10-15 07:47:09 -07:00
Leonardo de Moura
7a11f3b0a9 test: add getCtorLayout test 2019-10-11 15:11:24 -07:00
Sebastian Ullrich
90fc2b7d39 test: elab feature request: implicit lambda insertion 2019-10-08 17:51:45 +02:00
Leonardo de Moura
38f66c580b chore: fix tests 2019-10-07 15:57:02 -07:00
Leonardo de Moura
0714716477 fix: file and import names, tests and stage0
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2019-10-04 17:04:02 -07:00
Leonardo de Moura
e596089a2d chore: one module per import command 2019-10-04 12:27:47 -07:00
Daniel Selsam
ba06fd335b test: add new elab issue from @joehendrix 2019-10-03 17:23:53 -07:00
Daniel Selsam
1a1daf8aba fix(typeclass/context): standardize eUnify fail message 2019-10-03 17:23:53 -07:00
Daniel Selsam
a82266c652 feat(library/init/lean/typeclass): #synth with tabled resolution 2019-10-03 17:23:53 -07:00
Leonardo de Moura
cc18c0ef91 feat(library/init/lean/expr): add Expr.hasFVar and Expr.hasMVar
cc @dselsam
2019-10-02 10:07:26 -07:00
Leonardo de Moura
a8b39346d3 chore(tests/bench): fix tests 2019-10-02 10:07:26 -07:00
Sebastian Ullrich
941aeb113a chore(tests/bench/speedcenter.yaml): update temci config 2019-10-02 14:14:49 +02:00
Sebastian Ullrich
cae1009175 fix(library/init/data/list/aux): rename to basic_aux.lean
`aux` is a reserved filename on Windows

/cc @leodemoura
2019-10-02 12:30:29 +02:00
Leonardo de Moura
fdab3b90b9 refactor(library/init/data/array): new name convention for Array functions 2019-10-01 16:46:05 -07:00
Leonardo de Moura
411f397654 refactor(library/init/data/list): new name convention for List functions
cc @dselsam @kha
2019-10-01 15:15:02 -07:00
Leonardo de Moura
a507145eb1 feat(library/init/lean/level): add instance : HasBeq Level 2019-10-01 09:47:44 -07:00
Leonardo de Moura
2b252a441e feat(library/init/lean/declaration): add ConstantInfo.instantiateTypeUnivParams and ConstantInfo.instantiateValueUnivParams
cc @dselsam

See new test for an example.
2019-09-30 15:46:19 -07:00
Leonardo de Moura
864b9c730c feat(library/init/lean/expr): helper functions
cc @dselsam

Notes:
- x.isAppOrConst => x.isApp || x.isConst
- x.isPi => x.isForall
2019-09-30 15:16:40 -07:00
Leonardo de Moura
faebe15a7f feat(library/init/lean/expr): add efficient instantiate1
cc: @dselsam
2019-09-30 14:33:32 -07:00
Sebastian Ullrich
522cf13449 chore(tests/bench): update GHC and ocaml 2019-09-25 14:09:22 +02:00
Sebastian Ullrich
4b4f5c9832 test(tests/bench): further updates 2019-09-25 11:03:14 +02:00
Sebastian Ullrich
d3aa6488da chore(tests/bench): update cross suite 2019-09-24 22:42:25 +02:00
Leonardo de Moura
1ecb234a9f test(elabissues): document some of the known problems 2019-09-21 10:17:26 -07:00
Leonardo de Moura
4db4b26de6 test(tests): use #eval and move tests 2019-09-19 14:38:52 -07:00
Leonardo de Moura
b147ebad67 chore(tests/lean/run/array1): remove #exit 2019-09-19 10:47:40 -07:00
Sebastian Ullrich
f22c17e94b chore(library/init/data/string/basic): remove broken lineColumn obsoleted by FileMap 2019-09-19 18:12:51 +02:00
Sebastian Ullrich
8cb387e599 chore(tests/lean/extract): reactivate some #eval tests 2019-09-19 18:12:51 +02:00
Leonardo de Moura
eebc722f57 feat(library/init/lean/expr): add abstractRange 2019-09-17 17:17:46 -07:00
Leonardo de Moura
75e5f5bfd8 feat(library/init/lean/expr): expose abstract 2019-09-16 18:34:45 -07:00
Leonardo de Moura
6d7041fcb4 test(tests/playground/inst): add instantiate and instantiateRev simple tests 2019-09-16 18:30:35 -07:00
Leonardo de Moura
bd7ee8b01b feat(library/init/lean/elaborator/term): add elabList, and fix elabTermAux 2019-09-14 08:41:49 -07:00
Leonardo de Moura
306ff7d7e5 fix(library/compiler): fixes #34
`csimp` assumes constructors and `casesOn` applications match.  That
is, given `I.casesOn x ...`, then if `x` is an constructor, then it is
a constructor of the inductive datatype `I`.
The transformation `erase_irrelevant` was violating this property when
it mixes `Decidable` and `Bool`. We fix this issue by mapping
`Decidable.casesOn`, `Decidable.isTrue` and `Decidable.isFalse` to
`Bool.casesOn`, `Bool.true` and `Bool.false` respectively.
2019-09-13 10:20:50 -07:00
Sebastian Ullrich
2227873dc6 chore(tests/compiler/binomial): further reduce input size for debug build of interpreter... 2019-09-12 18:26:15 +02:00
Sebastian Ullrich
9f88c949f1 chore(tests/compiler): reduce some test sizes for the interpreter 2019-09-12 18:26:15 +02:00
Sebastian Ullrich
3d53aaf5a7 chore(tests/compiler): ignore some tests for the interpreter 2019-09-12 18:26:15 +02:00
Sebastian Ullrich
e5ef6eae1f chore(tests/playground/task_testX): update syntax 2019-09-12 18:26:15 +02:00
Sebastian Ullrich
d5737d0713 test(shell/CMakeLists.txt): add compiler tests as interpreter tests 2019-09-12 18:22:02 +02:00
Leonardo de Moura
e5846934e6 chore(tests/bench/rbmap500k): add new test 2019-09-11 18:01:56 -07:00
Leonardo de Moura
61a3ea61c4 perf(library/init/lean/compiler/ir/boxing): create auxiliary constants for caching the value of boxed/unboxed literals and constants
For example, in the new test `qsort64.lean`, the new optimization
prevents the repeated execution of `box UInt64.inhabited`.
On my machine
```
./run.sh qsort64.lean 2000000
```
Goes from 1.22s to 0.355s
2019-09-11 10:37:35 -07:00
Sebastian Ullrich
2110da4784 chore(tests/bench/speedcenter.exec.yaml): fix deriv speedcenter benchmark 2019-09-03 21:43:50 +02:00
Sebastian Ullrich
7b7f1d2cac test(tests/bench): add benchmarks as regular ctests with lowered inputs 2019-09-02 10:52:24 +02:00