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
Leonardo de Moura
2498f197b8
feat(library/init/lean/parser/term): declare some builtin infix operators
...
In Lean4, several builtin operators will be defined programmatically to
make sure we can bootstrap the system before we have all primitives
necessary for defining parsers.
2019-07-05 18:51:14 -07:00
Leonardo de Moura
483b7ae51a
feat(library/init/lean/parser/term): add field notation trailing parser
2019-07-05 16:23:25 -07:00
Leonardo de Moura
f1fe5c8d8b
test(tests/playground/termparsertest1): new tests
2019-07-05 12:10:22 -07:00
Leonardo de Moura
e946f79e82
test(tests/playground/termparsertest1): add new tests
2019-07-05 10:46:37 -07:00
Leonardo de Moura
0bee94886e
feat(frontends/lean/builtin_exprs): , from ==> from, and cleanup suffices
2019-07-02 17:22:50 -07:00
Leonardo de Moura
9f24e77200
chore(library/init/lean/parser/term): add show and have parsers
2019-07-02 16:59:43 -07:00
Leonardo de Moura
44730314ff
feat(library/init/lean/parser/term): add ifTerm
2019-07-02 16:32:09 -07:00