Commit graph

1486 commits

Author SHA1 Message Date
Leonardo de Moura
5490235447 chore: remove renamed functions 2020-11-11 10:14:26 -08:00
Leonardo de Moura
f17e226638 chore: naming convention
Example: `mkNameStr` => `Name.mkStr`

cc @Kha
2020-11-11 10:08:55 -08:00
Leonardo de Moura
df5b7fdc24 chore: naming convention
Use namespaces (e.g., `mkStxLit` ==> `Syntax.mkLit`)

cc @Kha
2020-11-11 09:55:23 -08:00
Leonardo de Moura
353aba579c chore: remove builtin infix operators 2020-11-11 07:23:28 -08:00
Leonardo de Moura
f936fe306c chore: fix annotation 2020-11-11 07:15:13 -08:00
Leonardo de Moura
4c80714b12 chore: do not use infix operators at Quotation.lean
Reason: macros need to be used before the notation is defined.
2020-11-11 06:56:45 -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
2daeb195b5 chore: use new names 2020-11-10 10:15:19 -08:00
Leonardo de Moura
2ef9199c56 chore: prepare to rename "predicate-like" classes 2020-11-10 10:12:21 -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
Sebastian Ullrich
3d9f97574b refactor: use and improve mkAppStx 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
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
a8a457b355 refactor: move getTailInfo/copyTailInfo/etc to LeanInit 2020-11-08 11:52:14 -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
fc4d991707 feat: add allowTrailingSep parameter to ParserDescr.sepBy and ParserDescr.sepBy1 2020-11-08 07:51:10 -08:00
Leonardo de Moura
d618bf5b16 feat: expand new syntax Syntax 2020-11-08 07:22:38 -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
34cba1ec2e feat: add withPosition and checkCol constructors 2020-11-08 06:42:25 -08:00
Leonardo de Moura
2d2d39c78e chore: use mut 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
1c558d279f feat: add mut modifier to doLet 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
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
Leonardo de Moura
4583f4344a fix: SyntaxNodeKind at elab and macro commands 2020-11-05 17:20:41 -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
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
Leonardo de Moura
27c495c198 fix: Tactic.orelse was using the wrong try ... catch ... 2020-11-03 17:20:53 -08:00
Leonardo de Moura
bfba03c6e1 fix: missing withMainMVarContext 2020-11-03 17:20:53 -08:00
Leonardo de Moura
4c3ea516b7 feat: clear targets 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
98d86bd902 chore: remove induction h:e
Users should use `cases h:e` instead
2020-11-03 17:20:52 -08:00
Leonardo de Moura
abd6914ac2 fix: missing indentExpr at error message 2020-11-03 17:20:52 -08:00
Leonardo de Moura
f28a7306f2 fix: append match_<idx> suffix only there is more than one alternative 2020-11-03 17:20:52 -08:00
Leonardo de Moura
c88d0c8a8c feat: populate builtinTacticSeqParser with tacticSeq 2020-11-03 17:20:52 -08:00
Leonardo de Moura
7654fa34e0 feat: add tacticSeq
@Kha This is a small hack to allow users to use `tacticSeq` in
`syntax` command. Example:
```
syntax "repeat" tacticSeq : tactic
```
2020-11-03 17:20:52 -08:00
Leonardo de Moura
f20a4244e4 chore: use named argument 2020-11-03 17:20:52 -08:00