Leonardo de Moura
bd76458210
feat: add support for nonReservedSymbol at syntax command
2020-11-12 07:32:18 -08:00
Leonardo de Moura
65dafaf07c
fix: stdlib and tests
...
We also declare a few macros for the syntax command.
2020-11-12 07:12:30 -08:00
Leonardo de Moura
d30e96bc7d
chore: fix tests
2020-11-11 19:09:23 -08:00
Leonardo de Moura
ab2ee0390d
chore: fix tests
2020-11-11 10:19:14 -08:00
Leonardo de Moura
dbf99a17b6
chore: define notation using infix commands
2020-11-11 08:26:12 -08:00
Leonardo de Moura
7daeb7fffd
chore: fix test
2020-11-11 07:18:49 -08:00
Leonardo de Moura
a8c791ecae
chore: remove dead files and functions
...
Remove obsolete combinators: `whenM`, `unlessM`, and `condM`
cc @Kha
2020-11-10 18:37:15 -08:00
Leonardo de Moura
cca3bad0bb
feat: add Prelude.lean
...
`Prelude.lean` has no dependencies, and
at the end of `Prelude`, the `syntax` and `macro` commands are operational.
2020-11-10 18:08:18 -08:00
Leonardo de Moura
3412c06059
chore: fix tests
2020-11-10 15:45:33 -08:00
Leonardo de Moura
2daeb195b5
chore: use new names
2020-11-10 10:15:19 -08:00
Sebastian Ullrich
e4f53fd92d
chore: adjust list & array spacing
2020-11-10 10:11:24 -08:00
Sebastian Ullrich
ce9be52ffb
feat: pretty print lists and arrays
2020-11-10 10:11:24 -08:00
Sebastian Ullrich
3665e3b7b5
feat: pretty print match
...
Fixes #177
2020-11-10 10:11:24 -08:00
Leonardo de Moura
7e8a7e6660
feat: elaborate fun/forall binder extensions
2020-11-09 19:00:40 -08:00
Leonardo de Moura
defa45ae2f
feat: improve error message
...
when match-expression LHSs still contain metavariables after elaboration
2020-11-09 18:26:14 -08:00
Leonardo de Moura
82d6dd2eb6
feat: improve Structural.lean
2020-11-09 13:23:25 -08:00
Leonardo de Moura
425f45a623
chore: fix test
2020-11-09 06:43:52 -08:00
Leonardo de Moura
ded043bd53
test: old Lean3 begin ... end as a macro
...
@Kha I am adding a few examples to use in the manual.
This one is a bit ugly due to two issues
1- We can't easily copy the position information from one token to
another. You suggested a notation in the past, but we never
implemented it. In the new example, we must copy the `end` position to
`}` to get the "unsolved goals" error message at the `end` token.
2- The quotation `` `(by { $ts* }) `` doesn't do what we want.
The issue is that we are using `group` instead of `nodeWithAntiquot`
to define `tacticSeqBracketed`. I will have to go over all parsers we
have defined, and check how many other places have this problem.
2020-11-08 11:53:13 -08:00
Leonardo de Moura
ef3f8c8723
feat: add funext tactic macro
2020-11-08 07:30:24 -08:00
Leonardo de Moura
6c6595cd9b
feat: only allow variables declared with mut to be reassigned
2020-11-07 17:32:13 -08:00
Leonardo de Moura
1c558d279f
feat: add mut modifier to doLet
2020-11-07 17:32:13 -08:00
Leonardo de Moura
1e30d0831d
feat: allow recursive application in the discriminant of a nested match
2020-11-07 17:32:12 -08:00
Leonardo de Moura
81d6e065e7
chore: adjust files and tests
2020-11-07 17:32:12 -08:00
Sebastian Ullrich
c1d75e21ea
fix: fix pretty printers for imported ParserDescrs
...
... by interpreting them (imported or not) on the fly instead of storing them in the environment
/cc @leodemoura
2020-11-07 17:05:07 +01:00
Leonardo de Moura
4583f4344a
fix: SyntaxNodeKind at elab and macro commands
2020-11-05 17:20:41 -08:00
Leonardo de Moura
a37e24af4a
test: _root_
...
cc @Kha
2020-11-05 15:39:22 -08:00
Leonardo de Moura
2ea9d894e7
fix: SyntaxNodeKind for syntax declarations nested in namespaces
...
cc @Kha
2020-11-05 15:31:50 -08:00
Leonardo de Moura
bf4d48f348
chore: cleanup for presentation
2020-11-05 12:43:02 -08:00
Leonardo de Moura
29730157ff
feat: support for _ and ?hole at all induction/cases variants
...
This commit also improves error position.
2020-11-03 17:20:53 -08:00
Leonardo de Moura
fa7fd4687c
feat: induction with multiple targets
2020-11-03 17:20:53 -08:00
Leonardo de Moura
2001e1708f
feat: add support for cases h_1:e_1, ..., h_n:e_n using elim
2020-11-03 17:20:53 -08:00
Leonardo de Moura
2226ec6426
chore: disable test until we implement "smart unfolding"
2020-11-03 17:20:53 -08:00
Leonardo de Moura
7cbee83a8a
feat: add try tactic
2020-11-03 17:20:52 -08:00
Leonardo de Moura
aafa09ddcd
chore: fix test
2020-11-03 17:20:52 -08:00
Leonardo de Moura
317b3fbc92
test: cases ... using ...
2020-11-03 17:20:52 -08:00
Leonardo de Moura
b9a2885e65
feat: add repeat tactic
2020-11-03 17:20:52 -08:00
Leonardo de Moura
ffc792ee02
test: dep-elim cases
2020-11-03 17:20:52 -08:00
Leonardo de Moura
5ef7fd08ab
test: cases ... using ... test
2020-11-03 17:20:52 -08:00
Sebastian Ullrich
f56d81de32
chore: revert "chore: avoid .."
...
This reverts commit 60c0e7b3d4 .
2020-11-03 15:12:23 +01:00
Sebastian Ullrich
e6b15ff6b4
feat: delaborator: apply pp options from Expr.mdata nodes
...
/cc @leodemoura
2020-11-03 12:36:33 +01:00
Leonardo de Moura
425cbac0dc
chore: fix tests
2020-11-02 19:33:08 -08:00
Leonardo de Moura
5854b5b9fe
feat: disallow alternatives of the form | _ ids => ...
...
@Kha We are still accepting wildcard alternatives of the form
`| _ => ...`
It is useful when we can discharge many alternatives using the same
tactic, and it looks like the wildcard alternative used in "match"-expressions.
2020-11-02 19:23:30 -08:00
Leonardo de Moura
f64bd9e1e3
chore: remove unnecessary with at induction/cases tactics
2020-11-02 13:30:54 -08:00
Leonardo de Moura
dfc346e76f
chore: remove obsolete attribute
2020-11-02 06:47:20 -08:00
Leonardo de Moura
2367d4d122
chore: fix test
2020-11-01 09:38:39 -08:00
Leonardo de Moura
de8f8f0e28
feat: improve local context reduction approximation
2020-10-31 19:19:18 -07:00
Leonardo de Moura
f9194737f0
chore: fix tests
2020-10-31 19:19:18 -07:00
Leonardo de Moura
dd3501a4a7
chore: move test
2020-10-31 19:19:18 -07:00
Leonardo de Moura
87bf97bdc1
feat: expand term try, for, unless, and return
2020-10-31 19:19:17 -07:00
Leonardo de Moura
77b160a5a8
chore: use mkFreshUserName at generalizeTelescope
2020-10-31 19:19:17 -07:00