Sebastian Ullrich
32bea73708
fix: ensure hygiene of double-quoted names
...
Fixes #586
2021-07-30 07:17:50 -07:00
Sebastian Ullrich
2833c61a60
fix: respect preresolved names at resolveConst*
...
This makes sure we can properly quote e.g. `deriving` clauses and avoids
a suspicious `eraseMacroScopes` call (though not at `Elab.Syntax`, since
categories do not have to be declaration names)
2021-07-30 07:17:50 -07:00
Leonardo de Moura
51e03837f5
fix: exact and refine succeed if they produce no new metavariables
...
closes #492
2021-07-27 18:30:14 -07:00
Leonardo de Moura
6d05daf73b
feat: add flag for allowing synthetic opaque mvars to be assigned at isDefEq
...
See issue #492
TODO: add a mechanism for detecting new metavariables.
2021-07-27 17:58:08 -07:00
Leonardo de Moura
3f22d5f624
feat: take auto params into account in the structure instance notation
...
closes #461
2021-07-27 15:49:23 -07:00
Leonardo de Moura
56e247763f
fix: scope of the auto param at fields
2021-07-27 15:22:51 -07:00
Leonardo de Moura
0ccd110eb4
feat: elaborate Term.binderTactic at structure declarations
2021-07-27 14:49:23 -07:00
Leonardo de Moura
1a62826107
chore: cleanup
2021-07-27 12:41:26 -07:00
Leonardo de Moura
714cadfb31
fix: bug at structure instance notation
...
It was exposed by the second example at #461 .
2021-07-27 11:56:33 -07:00
Wojciech Nawrocki
43190e0e63
feat: FromToJson for recursive inductives
2021-07-24 10:47:38 +02:00
Wojciech Nawrocki
9a5cdaf506
chore: address review 1
2021-07-24 10:45:28 +02:00
Wojciech Nawrocki
d716bf0d96
fix: preserve lifted CoreM traces
2021-07-24 10:45:28 +02:00
Wojciech Nawrocki
4a3c172ac9
feat: parametrised deriving handlers
2021-07-24 10:45:28 +02:00
Sebastian Ullrich
dc3d94ff61
fix: check arity in notation unexpander
...
Fixes #469
2021-07-22 16:59:19 +02:00
Sebastian Ullrich
98634b5554
fix: $(_):ident is not an infallible pattern
2021-07-22 16:52:06 +02:00
Sebastian Ullrich
7e317d23db
feat: term info on where declarations
2021-07-19 13:24:59 -07:00
Sebastian Ullrich
b76dd1a8e3
feat: go-to-definition for local variables
2021-07-19 13:24:59 -07:00
Sebastian Ullrich
18becc7d7d
fix: plain term goal on binders
2021-07-19 13:24:59 -07:00
Sebastian Ullrich
4a4b4c1ef4
fix: mkAtomFrom: generate synthetic position like other *From functions
...
Also consistently use binders as reference position for an elided binder type.
Before, type errors were always given extent 1, the length of the
synthetic `_` token.
2021-07-19 13:24:59 -07:00
Sebastian Ullrich
8637220927
fix: make precedence mandatory for mixfix commands
...
Resolves #577
2021-07-19 13:18:58 -07:00
Wojciech Nawrocki
03699cd5ba
feat: uniformly split idents
2021-07-19 09:55:37 +02:00
Wojciech Nawrocki
7aca461a35
fix: hovers on elabFieldName fields
2021-07-19 09:55:37 +02:00
Wojciech Nawrocki
eef413cec8
chore: unused binding in FromToJson
2021-07-15 21:57:55 +02:00
Wojciech Nawrocki
521ed11330
chore: move parseTagged
...
It should live in Lean.Data.Json.FromToJson because many modules import that but not Lean.Elab.Deriving.FromToJson.
2021-07-12 09:10:29 +02:00
Wojciech Nawrocki
1ba802418b
fix: ToJson for single-field constructors
2021-07-08 09:01:06 +02:00
Wojciech Nawrocki
dfcdc57302
feat: go-to for structure fields
2021-07-05 19:42:01 +02:00
Leonardo de Moura
5e694d4b69
fix: fixes #536
2021-06-29 18:24:46 -07:00
Leonardo de Moura
f4a7ffd8c8
chore: fix codebase and tests
2021-06-29 17:14:52 -07:00
Leonardo de Moura
90a79a0b06
chore: remove command universes
...
Now, `universe` may declare many universes. The goal is to make it
consistent with the `variable` command
2021-06-29 17:01:07 -07:00
Leonardo de Moura
e9b78585c5
refactor: add BuiltinCommand.lean
2021-06-29 16:52:00 -07:00
Sebastian Ullrich
20fa503803
fix: move elabCommand parts that should happen only once into new function
2021-06-29 06:34:15 -07:00
Sebastian Ullrich
a993e0baa0
fix: non-dependent arrow should not extend local context
2021-06-29 06:31:37 -07:00
Leonardo de Moura
e5d4af5e75
refactor: split Syntax.lean
2021-06-28 13:52:04 -07:00
Leonardo de Moura
953dd85c06
chore: avoid inline
2021-06-28 10:17:01 -07:00
Leonardo de Moura
ae6a28af52
chore: remove unnecessary specialize
2021-06-28 10:11:23 -07:00
Leonardo de Moura
8f9fa8d04c
refactor: add BuiltinTactic.lean
2021-06-28 10:08:42 -07:00
Leonardo de Moura
712206f80e
refactor: add BindersUtil.lean
2021-06-28 08:44:16 -07:00
Leonardo de Moura
7e1bb3e65b
refactor: add MatchAltView.lean and PatternVar.lean
2021-06-28 08:29:47 -07:00
Leonardo de Moura
7f986c62ba
refactor: add Arg.lean
2021-06-28 08:10:16 -07:00
Leonardo de Moura
795b15581b
refactor: add BuiltinTerm.lean
2021-06-28 07:55:52 -07:00
Sebastian Ullrich
cef3ade164
fix: info on non-atomic simp args
2021-06-23 00:08:07 -07:00
Gabriel Ebner
3cff5ceb99
perf: make trace[...] ... notation lazy
2021-06-23 00:07:27 -07:00
Sebastian Ullrich
0948742da1
perf: fix formatting info tree unconditionally
2021-06-22 10:22:08 +02:00
Sebastian Ullrich
479edbe235
refactor: avoid unnecessary withLCtx
2021-06-21 10:17:26 -07:00
Sebastian Ullrich
30a0954424
refactor: revert MonadRef changes
2021-06-21 10:17:26 -07:00
Sebastian Ullrich
65f2874d86
chore: address reviews
2021-06-21 10:17:26 -07:00
Sebastian Ullrich
eb1e285e26
chore: style
2021-06-21 10:17:26 -07:00
Sebastian Ullrich
91e3100e30
fix: properly resolve syntax kinds in macro/elab_rules
2021-06-21 10:17:26 -07:00
Sebastian Ullrich
3f4ab0a2af
feat: implement elab_rules
...
TODO: infer category from quotation type
2021-06-21 10:17:26 -07:00
Sebastian Ullrich
a86efc4796
fix: info tree context of command macros
2021-06-21 10:17:26 -07:00