Commit graph

16954 commits

Author SHA1 Message Date
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
5cfa13d08b fix(library/init/lean/parser/parser): consume whitespace in the beginning of the input 2019-07-08 14:13:50 -07:00
Leonardo de Moura
f66f6fd455 fix(library/init/lean/parser/parser): The first tokens of try p are the first tokens of p 2019-07-08 13:46:19 -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
e2bcf179ac fix(library/init/lean/parser/parser): missing trim 2019-07-08 10:33:51 -07:00
Leonardo de Moura
8b3d932212 chore(library/init/lean/parser): maxPrec ==> appPrec 2019-07-08 09:17:32 -07:00
Leonardo de Moura
1a81d60820 chore(frontends/lean/parser): simplify binder notation
The `<ident> : <expr>` now requires explicit brackets.
2019-07-08 08:54:19 -07:00
Leonardo de Moura
0fc9aa24bc chore(frontends/lean/parser): remove "binder collection" support
This kind of notation will not be supported in the new builtin parser.
If users want they may define their own notation with this feature.
2019-07-08 08:36:29 -07:00
Leonardo de Moura
8fa888878f chore(frontends/lean/parser): remove support for binders 2019-07-07 08:37:49 -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
794edcb18c chore(library/init/lean/parser): minor modifications 2019-07-05 18:31:03 -07:00
Sebastian Ullrich
9707672cc8 fix(runtime/mpz): fix and document size_t functions 2019-07-05 16:27:04 -07:00
Sebastian Ullrich
723e9cc430 chore(runtime/object): fix usize_to_nat name 2019-07-05 16:26:54 -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
ee5ec98fa9 feat(library/init/lean/parser/parser): add symbolNoWs trailing parser 2019-07-05 16:22:36 -07:00
Leonardo de Moura
fa96fb8deb feat(library/init/lean/position): HasToString instance 2019-07-05 16:22:15 -07:00
Leonardo de Moura
113ab4824f feat(library/init/lean/syntax): add Syntax.getTailInfo 2019-07-05 16:21:51 -07:00
Leonardo de Moura
9d5b0fd309 feat(library/init/data/array/basic): add findRev 2019-07-05 15:51:25 -07:00
Leonardo de Moura
dca0ba60fa feat(library/init/lean/parser/parser): add fieldIdx parser
We should not use `numLit` for projections since it will parse
`p.1.2` as
```
Term.proj `p (numLit "1.2")
```
2019-07-05 15:07:51 -07:00
Leonardo de Moura
3285a9e77d chore(library/init): unnecessary parentheses 2019-07-05 13:23:19 -07:00
Leonardo de Moura
f1fe5c8d8b test(tests/playground/termparsertest1): new tests 2019-07-05 12:10:22 -07:00
Leonardo de Moura
68d29fcdd4 feat(library/init/lean/parser/term): structure instances and subtypes 2019-07-05 12:09:59 -07:00
Leonardo de Moura
e3c75d2af6 fix(library/init/lean/parser/parser): position information for strLit, numLit, ident 2019-07-05 12:07:37 -07:00
Leonardo de Moura
24f9cd9564 chore(library/init/lean/parser/parser): minor 2019-07-05 11:23:45 -07:00
Leonardo de Moura
e946f79e82 test(tests/playground/termparsertest1): add new tests 2019-07-05 10:46:37 -07:00
Leonardo de Moura
70fbf58c50 fix(library/init/lean/parser/parser): bug at identFnAux 2019-07-05 10:46:20 -07:00
Leonardo de Moura
326c22e75d feat(library/init/lean/parser/term): anonymous constructors and lambdas 2019-07-05 10:26:39 -07:00
Sebastian Ullrich
3ee9371374 doc(tests/bench/README): update speedcenter URL 2019-07-05 16:23:07 +02:00
Sebastian Ullrich
b343e45958 chore(script/prepare-commit-msg): fix suffix pattern 2019-07-05 16:22:06 +02:00
Sebastian Ullrich
826a5ee16b chore(shell/lean): profile initialization time 2019-07-05 16:21:48 +02:00
Sebastian Ullrich
a87591af40 chore(tests/bench/speedcenter.exec.yaml): stdlib: time imports 2019-07-05 15:54:35 +02:00
Sebastian Ullrich
ca464d2517 fix(library/relative): lean --path returns Windows filenames, but make expects Unix ones
The joys of cross-platform bootstrapping
2019-07-05 11:24:15 +02:00
Sebastian Ullrich
74eda000b4 doc(doc/make/msys2): update instructions 2019-07-05 11:24:15 +02:00
Sebastian Ullrich
b41f4a517c chore(bin/leanc): set increased stack size on Windows 2019-07-05 11:24:15 +02:00
Sebastian Ullrich
26155442f1 fix(CMakeLists): cmake -E copy doesn't support wildcards on Windows
I don't think we'll need archives other than .a if we don't support MSVC
2019-07-05 11:24:15 +02:00
Sebastian Ullrich
2c9dce6eed fix(runtime/mpz): use size_t instead of unsigned long for Windows compatibility 2019-07-05 11:24:15 +02:00
Sebastian Ullrich
66c85c968a chore(azure-pipelines.yml): Azure Pipelines CI 2019-07-05 11:24:15 +02:00
Sebastian Ullrich
43a241bf19 chore(default.nix): factor out derivation 2019-07-05 11:24:15 +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
Leonardo de Moura
bf1f62c115 chore(shell/CMakeLists): temporarily remove --output-sync
@kha this option is only available is gnu make version >= 4.0.
2019-07-04 10:28:51 -07:00
Sebastian Ullrich
65643ee90b chore(shell.nix): update temci once more 2019-07-04 16:59:57 +02: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