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