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
Leonardo de Moura
7b91d880d7
feat(library/init/lean/parser/term): add sortApp, inaccessible and explicit
2019-07-11 09:05:21 -07:00
Leonardo de Moura
140cc45491
feat(library/init/lean/parser/term): whitespace sensitive match expression
2019-07-10 15:13:28 -07:00
Leonardo de Moura
3ef8845163
chore(tests/playground): fix tests
2019-07-10 11:36:39 -07:00
Leonardo de Moura
f37cd3cd11
feat(library/init/lean/parser/term): match-expression
...
TODO: add whitespace sensitivity
2019-07-08 14:14:49 -07:00
Leonardo de Moura
846ec9578d
fix(library/init/lean/parser/term): allow namedArgument notation in applications only
2019-07-08 13:43:12 -07:00
Leonardo de Moura
769e5fc8b1
chore(tests/playground/termparsertest1): add support for testing failures
2019-07-08 13:07:15 -07:00
Leonardo de Moura
4a17cf134b
feat(library/init/lean/parser/term): add forall parser
2019-07-08 13:03:21 -07:00
Leonardo de Moura
a6f9633e64
feat(library/init/lean/parser/term): dependent arrow notation
2019-07-08 12:57:49 -07:00
Leonardo de Moura
d3ca360e7f
feat(library/init/lean/parser): depArrow proof of concept
2019-07-08 10:49:54 -07:00
Leonardo de Moura
9334f54b87
feat(library/init/lean/parser/parser): support for whitespace sensitive left binding power
...
We use this new feature to implement array access notation `a[i]`.
2019-07-07 07:21:10 -07:00