Commit graph

22284 commits

Author SHA1 Message Date
Leonardo de Moura
7e8a7e6660 feat: elaborate fun/forall binder extensions 2020-11-09 19:00:40 -08:00
Leonardo de Moura
faa9ea3c98 chore: update stage0 2020-11-09 18:45:35 -08:00
Leonardo de Moura
25083fba9f feat: extend binder syntax 2020-11-09 18:41:48 -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
f91b2cc89c chore: typo 2020-11-09 18:13:02 -08:00
Leonardo de Moura
82d6dd2eb6 feat: improve Structural.lean 2020-11-09 13:23:25 -08:00
Leonardo de Moura
c7ebc33f97 chore: fix typo 2020-11-09 11:43:57 -08:00
Leonardo de Moura
f1a2d4dee1 doc: fix and expand lean3changes.md 2020-11-09 11:37:34 -08:00
Leonardo de Moura
425f45a623 chore: fix test 2020-11-09 06:43:52 -08:00
Leonardo de Moura
cf77799364 doc: add lean3changes.md 2020-11-08 14:25:56 -08:00
Leonardo de Moura
fdb7db5650 chore: rename Eq.subst argument 2020-11-08 14:05:17 -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
a8a457b355 refactor: move getTailInfo/copyTailInfo/etc to LeanInit 2020-11-08 11:52:14 -08:00
Leonardo de Moura
1f592ddf92 chore: update stage0 2020-11-08 08:13:59 -08:00
Leonardo de Moura
029510d4f5 feat: syntax for setting allowTrailingSep
@Kha This commit allows us to set `allowTrailingSep` for `sepBy` and
`sepBy1` from the `syntax` command.
```lean
syntax "[" (sepBy (allowTrailingSep := true) term ",") "]" : term
```
The new syntax is a bit verbose :)
What do you think? Any suggestions?
2020-11-08 08:12:54 -08:00
Leonardo de Moura
4a3b9c75e1 feat: add Quote Bool instance 2020-11-08 08:07:17 -08:00
Leonardo de Moura
fc4d991707 feat: add allowTrailingSep parameter to ParserDescr.sepBy and ParserDescr.sepBy1 2020-11-08 07:51:10 -08:00
Leonardo de Moura
ef3f8c8723 feat: add funext tactic macro 2020-11-08 07:30:24 -08:00
Leonardo de Moura
c03b98e46e chore: update stage0 2020-11-08 07:24:20 -08:00
Leonardo de Moura
d618bf5b16 feat: expand new syntax Syntax 2020-11-08 07:22:38 -08:00
Leonardo de Moura
1171590d2e chore: update stage0 2020-11-08 07:03:18 -08:00
Leonardo de Moura
231b20c4fb feat: add syntax parsers for withPosition and checkCol 2020-11-08 07:02:14 -08:00
Leonardo de Moura
c39ce2db32 chore: update stage0 2020-11-08 06:51:35 -08:00
Leonardo de Moura
34cba1ec2e feat: add withPosition and checkCol constructors 2020-11-08 06:42:25 -08:00
Leonardo de Moura
8b4f2227f3 chore: update stage0 2020-11-07 17:32:13 -08:00
Leonardo de Moura
2d2d39c78e chore: use mut 2020-11-07 17:32:13 -08:00
Leonardo de Moura
917d2b4aa4 chore: update stage0 2020-11-07 17:32:13 -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
f484be1409 chore: update stage0 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
6b89e8e670 chore: update stage0 2020-11-07 17:32:13 -08:00
Leonardo de Moura
89fd299c9e chore: prepare mut 2020-11-07 17:32:12 -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
Leonardo de Moura
ec8c8c73a8 chore: update stage0 2020-11-07 17:32:12 -08:00
Leonardo de Moura
4a55ff107b feat: add relaxedReassignments option 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
Sebastian Ullrich
53510ff392 chore: clean up doc/ before building manual 2020-11-06 12:28:18 +01:00
Leonardo de Moura
ba948257d4 chore: update stage0 2020-11-05 17:29:44 -08: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
73926f25fc chore: cleanup 2020-11-05 13:17:42 -08:00
Leonardo de Moura
bf4d48f348 chore: cleanup for presentation 2020-11-05 12:43:02 -08:00
Leonardo de Moura
df2cae4f90 chore: remove some old keywords 2020-11-05 07:05:01 -08:00
Leonardo de Moura
ad378414dd chore: update stage0 2020-11-03 17:24:05 -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
730b6aa3a3 feat: admit goal when case .. => .. fails 2020-11-03 17:20:53 -08:00
Leonardo de Moura
6466bbbaf9 feat: admit alternatives that failed 2020-11-03 17:20:53 -08:00
Leonardo de Moura
51e7aa8b75 fix: backtrack Term.State at TacticM
It contains references to metavariables that are declared in the
backtracked `MCtx`
2020-11-03 17:20:53 -08:00