Leonardo de Moura
b756562d4a
feat: simp beta/proj/recursor/matcher
2021-01-01 08:29:21 -08:00
Leonardo de Moura
4a06057410
feat: simp
2020-12-31 15:44:18 -08:00
Leonardo de Moura
90428cc09b
feat: expand let-decls at decide!
2020-12-31 09:47:05 -08:00
Leonardo de Moura
a32c45a515
feat: simp infrastructure
2020-12-30 18:00:04 -08:00
Leonardo de Moura
51e2db9850
feat: elaborate binrel! macro
2020-12-29 16:37:43 -08:00
Leonardo de Moura
d9325ca53a
feat: improve redundant alternative error message
2020-12-29 14:39:45 -08:00
Sebastian Ullrich
b69060f350
fix: category quotations in term position
2020-12-29 11:16:34 +01:00
Leonardo de Moura
8b17d4e2d6
feat: cdot notation for tuples
...
They are morally a parenthesized term.
2020-12-28 18:08:23 -08:00
Leonardo de Moura
479da7b914
feat: elaborate noindex! annotation
2020-12-28 17:49:54 -08:00
Sebastian Ullrich
ca3dd82ed4
doc: notations & precedence
2020-12-28 00:44:16 +01:00
Sebastian Ullrich
550d352bdc
feat: log output of #... auxiliary commands at command token
2020-12-27 14:33:02 +01:00
Sebastian Ullrich
bbafd80322
chore: token antiquotations: return/take full Syntax (but only use head info of it)
...
/cc @leodemoura
2020-12-26 23:54:46 +01:00
Sebastian Ullrich
1f563695bb
feat: From/ToJson derive handlers
2020-12-26 19:38:24 +01:00
Leonardo de Moura
c94bb0fa2b
fix: missing quotes in error messages
2020-12-26 09:01:45 -08:00
Leonardo de Moura
01f8127c16
fix: position information at expandDoIf?
2020-12-26 08:26:54 -08:00
Sebastian Ullrich
82497e3bcf
fix: non-atomic identifiers in antiquotation splices
2020-12-25 22:58:33 +01:00
Leonardo de Moura
48b92a4486
fix: error message and test
2020-12-25 10:03:42 -08:00
Leonardo de Moura
e21ea53661
fix: position of failed to synthesize toStream ... error
2020-12-25 10:03:42 -08:00
Leonardo de Moura
619885e745
feat: add throwMVarError!
2020-12-25 10:03:42 -08:00
Leonardo de Moura
b855d79718
feat: filter "failed to synthesize ..." errors when there are other errors
2020-12-25 10:03:42 -08:00
Sebastian Ullrich
c3c27f8dd3
feat: lift restriction on number of antiquotations in splice
...
/cc @leodemoura
2020-12-25 18:41:03 +01:00
Leonardo de Moura
480462fa24
feat: improve {...} error message
2020-12-24 09:35:55 -08:00
Leonardo de Moura
79c15de131
fix: if-then-else is not builtin notation
2020-12-24 08:02:59 -08:00
Leonardo de Moura
ccefe970dc
feat: store endPos at Log.lean
2020-12-23 19:09:41 -08:00
Leonardo de Moura
14989f9758
chore: cleanup
2020-12-23 13:49:28 -08:00
Leonardo de Moura
4fb02df6e9
refactor: remove workaround
2020-12-23 13:35:21 -08:00
Leonardo de Moura
ef51087138
feat: do not log error messages with synthetic sorry's
...
Before this commit, only error messages caught at `elabTerm` were
filtered.
cc @Kha
2020-12-23 10:52:27 -08:00
Leonardo de Moura
e74ba14f4c
feat: modify structSimpleBinder parser
...
@Kha It felt odd that we can write
```
map f x := ...
```
in instances, but we had to write
```
map (f x) := ...
```
when setting the field default value in a class.
2020-12-23 08:23:14 -08:00
Leonardo de Moura
7720b843bb
feat: allow users to use binders when setting default value for parent fields
2020-12-23 08:12:29 -08:00
Leonardo de Moura
9c47cfe001
fix: panic message
2020-12-23 07:24:46 -08:00
Leonardo de Moura
df03130927
feat: improve error message
2020-12-22 17:50:26 -08:00
Leonardo de Moura
8c2cb44ac0
fix: error message produced by lean_mk_projections
2020-12-22 17:40:32 -08:00
Leonardo de Moura
9a1116d918
chore: remove <or>, first subsumes it
2020-12-22 14:10:08 -08:00
Leonardo de Moura
832c7412d6
feat: add first tactical
...
@Kha It has a few advantages over `<or>` (`<|>`).
- It is not an infix operator.
- It takes tactic sequences instead of tactics as arguments
For example, we can write
```
first
| apply h1; assumption
| exact y; exact h3; assumption
```
or
```
first apply h1; assumption | exact y; exact h3; assumption
```
instead of
```
(apply h1; assumption) <|> (exact y; exact h3; assumption)
```
2020-12-22 14:10:07 -08:00
Leonardo de Moura
69d83ecb86
chore: make sure term and tactic parsers have disjoint infix operators
2020-12-22 14:10:07 -08:00
Leonardo de Moura
298bdfdcde
fix: focus behavior
2020-12-22 14:10:06 -08:00
Leonardo de Moura
289ed6485d
feat: eval allGoals
2020-12-22 09:52:54 -08:00
Leonardo de Moura
f638269a71
fix: name resolution at syntax command
...
This commit also cleans up `toParserDescr`+`toParserDescrAux`.
2020-12-22 08:40:00 -08:00
Sebastian Ullrich
93518d4e42
perf: let*-bind syntax match RHSs before duplicating them
2020-12-22 17:25:46 +01:00
Leonardo de Moura
b254aafea0
chore: remove workaround
2020-12-22 07:19:33 -08:00
Leonardo de Moura
7d1e493531
chore: reactivate tactic match and introMatch
2020-12-22 07:15:47 -08:00
Leonardo de Moura
f34bf82e0f
chore: move tactic parsers introMatch and match to Lean/Parser/Tactic
2020-12-22 07:11:06 -08:00
Leonardo de Moura
7fa1430a60
chore: add evalMatchTemp
2020-12-22 06:56:58 -08:00
Sebastian Ullrich
1c31240ebb
feat: token antiquotations in macro
2020-12-22 13:11:04 +01:00
Sebastian Ullrich
07c7638fd7
feat: token source info antiquotations tk%$id
...
/cc @leodemoura
2020-12-22 13:11:04 +01:00
Leonardo de Moura
43255a4af3
feat: local and scoped macros
2020-12-21 17:08:25 -08:00
Leonardo de Moura
0642a62848
chore: prepare to add scoped macro and elab commands
2020-12-21 16:50:29 -08:00
Leonardo de Moura
4fc06bfcca
feat: add optional (priority := <prio>) to instance command
2020-12-21 10:02:12 -08:00
Leonardo de Moura
43284cc5fa
feat: improve notation for setting parser names and priorities
2020-12-21 09:11:12 -08:00
Sebastian Ullrich
cf73233dd2
refactor: use quotations & implicit token positions from getRef to clean up a bit
2020-12-21 17:32:36 +01:00