Commit graph

303 commits

Author SHA1 Message Date
Leonardo de Moura
434c148800 test: add termElab attribute test 2020-01-01 14:16:49 -08:00
Leonardo de Moura
6c04a4bcc3 feat: mkElabAttribute 2020-01-01 10:59:29 -08:00
Leonardo de Moura
dd4bed3c6f test: simple termParser attribute test 2019-12-31 17:03:11 -08:00
Leonardo de Moura
c6048f0f94 feat: generalize binInsert 2019-11-23 08:20:20 -08:00
Leonardo de Moura
886eb3f51f test: add foldUnify and getUnify
These are the primitives we need for retrieving candidate instances.
2019-11-23 06:24:09 -08:00
Leonardo de Moura
30c05416a4 test: add foldMatch and getMatch
These are the primitives we need for retrieving candidate simp lemmas.
2019-11-23 06:24:03 -08:00
Leonardo de Moura
ad837950d9 test: discrimination tree prototype 2019-11-22 18:41:07 -08:00
Sebastian Ullrich
3dcd4febd9 feat: make LEAN_PATH a mapping from package names to root dirs, remove C++ impl 2019-11-20 16:39:53 +01:00
Leonardo de Moura
38d9a7c063 test: interpreter bug
@Kha Could you please take a look at this repro?
When I use the compiler,
```
./run.sh usizeBug.lean
```
I get the expected answer: `2`.
When I use the interpreter,
```
../../bin/lean --run usizeBug.lean
```
I get `1`. I found the problem today, and managed to isolate the
problem to this small repro.
2019-11-18 18:12:33 -08:00
Leonardo de Moura
524872d68a chore: avoid Expr constructors in tests 2019-11-14 16:54:36 -08:00
Sebastian Ullrich
9b55687597 fix: show #eval errors 2019-10-18 13:10:13 +02:00
Leonardo de Moura
4db4b26de6 test(tests): use #eval and move tests 2019-09-19 14:38:52 -07: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
Sebastian Ullrich
e5ef6eae1f chore(tests/playground/task_testX): update syntax 2019-09-12 18:26:15 +02: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
572926f5ce perf(shell/CMakeLists.txt, tests/): define NDEBUG in leanc release builds
`assert` is now being used by the C runtime
2019-08-27 16:54:29 +02:00
Leonardo de Moura
f8199bb540 fix(library/playground/patch): updateArgs => modifyArgs 2019-08-09 16:05:29 -07:00
Leonardo de Moura
92da659ec7 feat(library/init/data/persistenthashmap/basic): add PersistentHashMap.contains 2019-08-09 11:25:01 -07:00
Leonardo de Moura
d00019f57e chore(library/init): fix whitspaces before => 2019-08-09 09:13:49 -07:00
Leonardo de Moura
4d913370a7 chore(library/init): eliminate whitespaces using another patch script 2019-08-09 09:01:39 -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
022a130b86 feat(tests/playground/patch): path equation syntax 2019-08-08 20:57:54 -07:00
Leonardo de Moura
849311af00 test(tests/playground/patch): do-nothing transformer 2019-08-08 10:47:19 -07:00
Leonardo de Moura
4bd347de3a feat(library/init/data/persistentarray/basic): PersistentArray.pop 2019-08-04 11:50:05 -07:00
Leonardo de Moura
3c5a30649d feat(library/init/data/persistenthashmap/basic): add PersistentHashMap.erase 2019-08-02 13:31:29 -07:00
Leonardo de Moura
c371b43970 feat(library/init/data): add PersistentHashMap 2019-08-02 13:31:29 -07:00
Leonardo de Moura
fe9908cad3 chore(tests/playground/persistentarray): fix test 2019-07-31 16:02:21 -07:00
Leonardo de Moura
798bbc0662 feat(library/init/system/io): new primitives 2019-07-25 18:12:44 -07:00
Sebastian Ullrich
aef4a7159b chore(*): remove obsolete leanpkg.path files 2019-07-25 17:46:53 -07:00
Leonardo de Moura
77a59f4998 feat(library/init/io): add IO.getEnv 2019-07-25 08:31:23 -07:00
Leonardo de Moura
b3e0a1d04e feat(library/init/lean/elaborator/basic): improve error handling, add simple test 2019-07-18 17:52:01 -07:00
Leonardo de Moura
79545f55c0 feat(library/init/io): add IO.readTextFile 2019-07-18 17:31:31 -07:00
Leonardo de Moura
f206b30fd7 feat(library/init/lean/parser): add charLit 2019-07-16 07:22:09 -07:00
Leonardo de Moura
146a796c5c feat(library/init/lean/module): add ModuleParser with error recovery 2019-07-15 09:32:13 -07:00
Leonardo de Moura
b9149dd428 fix(library/init/lean/parser/module): token table initialization 2019-07-14 08:31:12 -07:00
Leonardo de Moura
e3351f0524 test(tests/playground/modtest1): new test 2019-07-12 17:03:22 -07:00
Leonardo de Moura
d59d8e0d56 feat(library/init/lean/parser/command): add notation command 2019-07-12 14:18:08 -07:00
Leonardo de Moura
36da73b6cb feat(library/init/lean/parser/command): add (some) notation commands 2019-07-12 14:01:23 -07:00
Leonardo de Moura
166a6fa75a feat(library/init/lean/parser/command): missing commands 2019-07-12 11:00:14 -07:00
Leonardo de Moura
7046a38e93 feat(library/init/lean/parser/command): add inductive, structure and class parsers 2019-07-12 10:21:59 -07:00
Leonardo de Moura
eed4c72fc5 fix(library/init/lean/parser/command): docComment 2019-07-11 17:28:51 -07:00
Leonardo de Moura
72477f3cc6 feat(library/init/lean/parser/command): improve how optional affects firstTokens field 2019-07-11 17:22:26 -07:00
Leonardo de Moura
d354dc437c feat(library/init/lean/parser/command): add declaration draft 2019-07-11 17:13:22 -07:00
Leonardo de Moura
3370ab7398 feat(library/init/lean/parser/term): allow equations to be used in let-decls 2019-07-11 13:13:08 -07:00
Leonardo de Moura
99393433a4 feat(library/init/lean/parser/term): do notation 2019-07-11 12:38:55 -07:00
Leonardo de Moura
57e2f1be2a feat(library/init/lean/parser/term): builtin operators 2019-07-11 10:13:00 -07:00
Leonardo de Moura
195fb27ce5 feat(library/init/lean/parser/term): add let 2019-07-11 09:51:34 -07:00