Leonardo de Moura
173b956961
feat: reserved names ( #3675 )
...
- Add support for reserved declaration names. We use them for theorems
generated on demand.
- Equation theorems are not private declarations anymore.
- Generate equation theorems on demand when resolving symbols.
- Prevent users from creating declarations using reserved names. Users
can bypass it using meta-programming.
See next test for examples.
2024-03-15 00:33:22 +00:00
Henrik Böving
23e49eb519
perf: add prelude to all Lean modules
2024-02-18 14:55:17 -08:00
Kyle Miller
67bfa19ce0
feat: add quot_precheck for expression tree elaborators (binop%, etc.) ( #3078 )
...
There were no `quot_precheck` instances registered for the expression
tree elaborators, which prevented them from being usable in a `notation`
expansion without turning off the quotation prechecker.
Users can evaluate whether `set_option quotPrecheck false` is still
necessary for their `notation` definitions.
2023-12-18 16:52:49 +00:00
Jon Eugster
07bd2a8488
feat: add quot_precheck Lean.Parser.Term.explicit
2023-02-08 12:21:40 +01:00
Sebastian Ullrich
791fc70dd9
refactor: split paren parser
2022-11-11 13:45:41 +01:00
Mario Carneiro
02d8a5d56e
feat: empty type ascription syntax (e :)
2022-11-07 19:10:56 +01:00
Mario Carneiro
583e023314
chore: snake-case attributes (part 2)
2022-10-19 09:28:08 -07:00
Mario Carneiro
dd5948d641
chore: snake-case attributes (part 1)
2022-10-19 09:28:08 -07:00
Mario Carneiro
b201db4bf7
feat: add hover info for quot precheck
2022-08-13 17:31:57 -07:00
Mario Carneiro
7cc8f7c4c4
feat: go to definition for antiquot kinds
2022-08-11 17:46:36 +02:00
Leonardo de Moura
feb71271e9
fix: remove redundant alternatives
2022-07-31 05:28:14 -07:00
Sebastian Ullrich
22475b8669
refactor: introduce common TSyntax abbreviations
2022-06-27 22:37:02 +02:00
Sebastian Ullrich
86cd656fc6
refactor: adapt raw syntax manipulations to TSyntax
...
Sometimes there's just no structure to work on
2022-06-27 22:37:02 +02:00
Sebastian Ullrich
a78302243c
refactor: strengthen Syntax signatures
...
Most notable change: `Quote` is now parameterized by the target kind.
Which means that `Name` etc. could actually have different
implementations for quoting into `term` and `level`, if that need ever
arises.
2022-06-27 22:37:02 +02:00
Sebastian Ullrich
43ba121e98
feat: upgrade TSyntax to union of kinds
2022-06-27 22:37:02 +02:00
Leonardo de Moura
f6d1e48cb8
fix: constant => opaque issues
2022-06-14 17:19:54 -07:00
Sebastian Ullrich
ae7b895f7a
refactor: unname some unused variables
2022-06-07 16:37:45 -07:00
Sebastian Ullrich
ec045bfbb8
feat: $_ antiquotation pattern
2022-06-04 13:57:04 +02:00
Sebastian Ullrich
6dfddbe2e7
feat: quotation precheck for choice nodes
2022-03-29 10:50:11 +02:00
Leonardo de Moura
e07823bb12
chore: remove unnecessary partial
...
TODO: we should generate an error/warning when `partial` is not necessary
2022-02-15 12:16:49 -08:00
Leonardo de Moura
12e2a79170
chore: fix codebase after removing auto pure
2022-02-03 18:08:14 -08:00
Sebastian Ullrich
da4c46370d
feat: store elaborator declaration name in info tree
2021-06-21 10:17:26 -07:00
Leonardo de Moura
a43dca0b9f
fix: add basic support for accessing the field of a section variable in the notation prechecker
...
see #435
2021-05-04 22:41:25 -07:00
Leonardo de Moura
fc96a24d7b
chore: improve error message
2021-05-04 19:37:24 -07:00
Leonardo de Moura
56c7454a8d
fix: fixes #435
2021-05-02 18:16:57 -07:00
Sebastian Ullrich
683ecb2d65
feat: ignore unquoted identifiers in prechecked quotations
2021-04-29 13:30:09 +02:00
Sebastian Ullrich
9f0fa19237
feat: notation: unfold to prechecked quotation
2021-04-27 16:38:37 -07:00
Sebastian Ullrich
ad7ee2c81b
fix: disable quotation precheck if hygiene is false
2021-04-27 16:38:37 -07:00
Sebastian Ullrich
9301e05a7e
feat: double-quoted quotation semantics and basic precheck hooks
2021-04-27 16:38:37 -07:00
Sebastian Ullrich
8119daeb18
feat: syntax & attribute for double-quoted quotations
2021-04-27 16:38:37 -07:00
Leonardo de Moura
be841a7cad
chore: throwError! => throwError, throwErrorAt! => throwErrorAt
...
@Kha I marked the corresponding methods as `protected`.
I currently can't stand `throw_error`, and I am optimistic about
server highlighting feature you are working on :)
2021-03-11 11:59:45 -08:00
Sebastian Ullrich
7b9f9e806f
feat: Syntax.topDown
2021-03-11 13:22:18 +01:00
Sebastian Ullrich
93518d4e42
perf: let*-bind syntax match RHSs before duplicating them
2020-12-22 17:25:46 +01:00
Sebastian Ullrich
07c7638fd7
feat: token source info antiquotations tk%$id
...
/cc @leodemoura
2020-12-22 13:11:04 +01:00
Sebastian Ullrich
5b06e1011f
fix: completely refactor syntax match handling, introduce "undecided" patterns to resolve complex cases
2020-12-19 22:03:37 +01:00
Sebastian Ullrich
591392840c
fix: accept dynamic quotations in match
2020-12-11 21:34:30 +01:00
Sebastian Ullrich
e6493755e9
chore: stdlib: match_syntax ~> match
2020-12-08 17:32:02 +01:00
Sebastian Ullrich
6fac0c0b16
feat: support syntax patterns in do
2020-12-08 17:20:36 +01:00
Sebastian Ullrich
93a9d79088
refactor: move around quotation helpers once more
2020-12-08 17:20:36 +01:00