Commit graph

7042 commits

Author SHA1 Message Date
Leonardo de Moura
c00788a982 fix(library/init/lean/compiler/ir/emitcpp): header of big boxed functions 2019-07-08 21:52:01 -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
8944767f6c chore(frontends/lean): Π ==> 2019-07-07 08:13:40 -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
Sebastian Ullrich
3ee9371374 doc(tests/bench/README): update speedcenter URL 2019-07-05 16:23:07 +02:00
Sebastian Ullrich
a87591af40 chore(tests/bench/speedcenter.exec.yaml): stdlib: time imports 2019-07-05 15:54:35 +02:00
Sebastian Ullrich
2d60a4eb50 chore(tests/bench/speedcenter.exec.yaml): simplify 'stdlib' benchmark
@leodemoura This removes the need for `--output-sync` and cmake hackery. It
doesn't quite measure actual `make stdlib` times (no parallelization, no
.olean/.cpp/.o output), but all of these actually seem to be negligible.
2019-07-05 10:51:44 +02:00
Leonardo de Moura
ea6eee516b chore(frontends/lean): use => instead of := in match-expressions
Motivation: use same separator used in lambda expressions as in
other programming languages.
2019-07-04 11:38:38 -07:00
Sebastian Ullrich
99f2b356e9 chore(tests/bench/temci.yaml): move out of the way 2019-07-04 14:54:25 +02:00
Sebastian Ullrich
1539cf4505 chore(tests/bench/speedcenter.yaml): update temci config 2019-07-04 14:43:04 +02:00
Sebastian Ullrich
7472b4608d chore(tests/bench/speedcenter.yaml): reduce max_runs to 10 2019-07-04 14:34:28 +02:00
Leonardo de Moura
745cc9902b chore(tests/bench): fix tests 2019-07-03 08:37:40 -07:00
Sebastian Ullrich
928a47ee0e feat(tests/bench/speedcenter): temci-based speedcenter config 2019-07-03 08:30:32 -07:00
Leonardo de Moura
cf465ba085 chore(tests/lean/trust0/basic): fix test 2019-07-02 17:36:13 -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
Leonardo de Moura
a02443d23d chore(frontends/lean): fun x, e ==> fun x => e 2019-07-02 13:22:11 -07:00
Leonardo de Moura
d4a5306d82 feat(library/init/lean/parser/term): explicit universe notation in the new parser 2019-07-02 09:00:58 -07:00
Leonardo de Moura
9d50b3ca47 feat(library/init/lean/parser/term): paren parser 2019-07-01 19:44:13 -07:00
Leonardo de Moura
13b5747713 fix(library/init/lean/parser/parser): prattParser 2019-07-01 16:00:58 -07:00
Leonardo de Moura
531ef5d700 feat(library/init/lean/parser): universe level parser and bug fixes 2019-06-30 09:02:06 -07:00
Sebastian Ullrich
247e3f4aa2 chore(tests/bench): fix benchmarks 2019-06-30 13:29:23 +02:00
Sebastian Ullrich
c299e6c0e6 chore(tests): fix do syntax in tests 2019-06-30 13:04:34 +02:00
Leonardo de Moura
5c4ec30820 chore(tests/bench/deriv): use new syntax 2019-06-29 15:29:19 -07:00
Leonardo de Moura
bc0c0ee9bc chore(tests): fix tests 2019-06-24 15:48:11 -07:00
Leonardo de Moura
da09ef4f66 feat(frontends/lean/builtin_exprs): minor improvement 2019-06-24 15:48:11 -07:00
Leonardo de Moura
24e3bff429 feat(frontends/lean): add simple parser! macro 2019-06-24 15:48:11 -07:00
Leonardo de Moura
2c4cec184a test(tests/bench): add C++ versions of rbmap benchmarks 2019-06-22 06:58:27 -07:00
Leonardo de Moura
8e98e4375f chore(tests/bench): match order we used in the paper 2019-06-22 06:29:47 -07:00
Leonardo de Moura
3c4c413c2c test(tests/bench/rbmap2): fix benchmark 2019-06-21 16:11:05 -07:00
Leonardo de Moura
82c90c7c96 test(tests/bench/unionfind_clean): add clean version 2019-06-21 16:10:53 -07:00
Leonardo de Moura
8f1345dc53 chore(library/init/lean/syntax): simplify SyntaxNodeKind 2019-06-21 14:24:44 -07:00
Leonardo de Moura
7f3543096a test(tests/playground/parser2): proof of concept 2019-06-20 16:48:17 -07:00
Leonardo de Moura
93e5746739 chore(library/init/lean/parser/parser): naming consistency 2019-06-20 16:47:55 -07:00
Leonardo de Moura
98879f1580 refactor(library/init/lean/parser/parser): simplify SyntaxNodeKind
The numeric `id` generation is works well for builtin parsers, but it
creates problems when defining dynamic ones.
2019-06-20 14:51:59 -07:00
Leonardo de Moura
8724a8cfd5 feat(library/init/lean/parser/parser): builtin parser attributes must be applied after compilation 2019-06-20 09:22:03 -07:00
Leonardo de Moura
f180b3f32e feat(library/init/lean/parser/parser): improve error messages on prattParser 2019-06-19 16:36:18 -07:00
Leonardo de Moura
cf9a29152d fix(library/init/lean/parser/parser): ParserInfo for ident, strLit, and numLit 2019-06-19 16:19:00 -07:00
Leonardo de Moura
86e1af2066 test(tests/playground/parser1): minor 2019-06-19 14:17:55 -07:00
Leonardo de Moura
5ccbb1ec1c test(tests/playground/parser1): add first test
We use `attribute [testParser] ...` instead of `@[testParser]` as a
workaround for the issue described at 697f69020f

I will write a more detailed report for the new parser in the Lean4
channel. I will try to cover the pending issues and TODO list.

cc @kha
2019-06-19 10:52:22 -07:00