Commit graph

24104 commits

Author SHA1 Message Date
Leonardo de Moura
c53c4413c4 feat: add doc string to user-defined simp attribute parser
see #1374
2022-07-27 06:13:10 -07:00
Leonardo de Moura
635752dd2c feat: add info node from attributes to their parsers
see #1374
2022-07-27 06:12:43 -07:00
Leonardo de Moura
ed7f502e54 feat: doc string support for register_simp_attr, register_option, register_builtin_option, declare_config_elab
see #1374
2022-07-26 18:46:23 -07:00
Leonardo de Moura
3e7d45aaba fix: improve finer-grained term infos for do blocks
see #1248

This commit adds a small hack to fix the term info for the following `do`-elements
```lean
   let (x, y) := ...
   let (x, y) ← ...
   let mut (x, y) ← ...
   let some x ← ... | ...
```
2022-07-26 18:18:05 -07:00
Leonardo de Moura
642cf0bc6d feat: add option pp.showLetValues
closes #1345
2022-07-26 17:53:34 -07:00
Leonardo de Moura
0e3f031660 fix: position information for with_annotate_term when coercions are used
see #1248
2022-07-26 16:09:45 -07:00
Leonardo de Moura
c22120371e feat: finer-grained term infos for do blocks
closes #1248
2022-07-26 15:47:37 -07:00
Leonardo de Moura
bbad6d1efe feat: add with_annotate_term 2022-07-26 15:13:28 -07:00
Leonardo de Moura
43c787d1c6 feat: synthesize implicit structure fields in the structure instance notation
closes #1305
2022-07-26 13:24:57 -07:00
Leonardo de Moura
e68e448070 fix: convert inductive type instance implicit parameters to implicit when building SizeOf instance
It is better for TC resolution since the parameter can be inferred by
typing constraints, and it addresses issue #1373
2022-07-26 12:42:47 -07:00
Leonardo de Moura
642b30ab47 feat: add withInstImplicitAsImplict 2022-07-26 12:35:30 -07:00
Leonardo de Moura
d6f0880d11 feat: add option warningAsError 2022-07-26 05:57:54 -07:00
Leonardo de Moura
385cfa6001 fix: fixes #1372 2022-07-26 05:51:02 -07:00
Leonardo de Moura
3896244c55 chore: cleanup 2022-07-25 22:39:56 -07:00
Leonardo de Moura
90fb110cc9 refactor: improve FVarId method discoverability
See issue #1346
2022-07-25 22:18:58 -07:00
Leonardo de Moura
db7e546155 fix: Match.unify?
closes #1361
2022-07-25 20:30:01 -07:00
Leonardo de Moura
b3b2a07ed0 feat: support dotted notation and named arguments in patterns 2022-07-25 18:19:32 -07:00
Leonardo de Moura
69b7771570 fix: etaArgs and ellipsis at elabAppArgs
When `..` is used, we should not eta-expand but add `_`s.
2022-07-25 18:13:32 -07:00
Leonardo de Moura
aa267dbc9b doc: add doc-strings 2022-07-25 17:36:10 -07:00
Leonardo de Moura
c418e8d2c5 fix: use useExplicit := false when processing instance ... where ... notation fields
See new test.
2022-07-25 16:53:13 -07:00
Leonardo de Moura
c2a13da58d fix: ensure let f | ... and let rec f | ... notations behave like the top-level ones with respect to implici lambdas
closes #1360
2022-07-25 16:53:13 -07:00
Leonardo de Moura
387b6c22ee chore: document and cleanup 2022-07-25 16:53:13 -07:00
Sebastian Ullrich
da44604c1b fix: notation delaborator on over-application 2022-07-25 13:42:37 -07:00
Leonardo de Moura
c042e7ba58 feat: add support for "jump-to-definition" at [tactic ...], [commandElab ...] and [termElab ...] attributes
see #1350
2022-07-25 12:21:51 -07:00
Leonardo de Moura
afce57386c chore: doc strings at KeyedDeclsAttribute.lean 2022-07-25 12:20:19 -07:00
Leonardo de Moura
f19b122ab1 feat: add support for "jump-to-definition" at [implementedBy] attribute
see #1350
2022-07-25 12:06:55 -07:00
Leonardo de Moura
6fbf15043f refactor: move InfoState to CoreM
We want to be able to update `InfoState` at `AttrM` which is just an
alias for `CoreM`.
I considered defining `AttrM` as `StateRefT InfoState CoreM`, but this
is problematic because we also want to invoke `AttrM` monadic
actions from `MetaM`.

Closes #1350
2022-07-25 11:57:56 -07:00
Leonardo de Moura
c62404a97a refactor: split InfoTree.lean 2022-07-25 08:41:34 -07:00
Wojciech Nawrocki
e30ae62dff refactor: simplify position type 2022-07-25 08:01:27 -07:00
E.W.Ayers
b714e087d6 fix: widgetSourceRegistry now stores the UserWidgetDefinition declaration name instead of WidgetSource
This means that the environment extension is not storing a big text object and instead the text
is retrieved from the declaration itself.
2022-07-25 08:01:27 -07:00
E.W.Ayers
591b218607 doc: fix @kha issues 2022-07-25 08:01:27 -07:00
E.W.Ayers
28ebf90948 fix: add Inhabited Std.RBMap 2022-07-25 08:01:27 -07:00
E.W.Ayers
8deee553bb fix: local instances 2022-07-25 08:01:27 -07:00
E.W.Ayers
67eae54c3d style: userwidget 2022-07-25 08:01:27 -07:00
E.W.Ayers
18a3d1a34e fix: widgets are now defined using a UserWidgetDefinition
To satisfy https://github.com/leanprover/lean4/pull/1238#discussion_r908839474
2022-07-25 08:01:27 -07:00
Wojciech Nawrocki
0824e6b22b chore: rebase on 2022-07-10 2022-07-25 08:01:27 -07:00
Wojciech Nawrocki
625be05aa8 chore: use invalidParams error code 2022-07-25 08:01:27 -07:00
E.W.Ayers
4eb97a7954 refactor: getWidgetInfos → getWidgets
also rm hash field from UserWidgetInfo because it can be computed in handler instead.
2022-07-25 08:01:27 -07:00
E.W.Ayers
9b5be5a039 chore: remove Json.syntax docstring 2022-07-25 08:01:27 -07:00
E.W.Ayers
b7d70877f7 feat: user widgets
See #1225
2022-07-25 08:01:27 -07:00
Leonardo de Moura
262ac674aa feat: improve runTactic
It must catch exceptions.
See #1342
2022-07-25 07:41:50 -07:00
Sebastian Ullrich
7272235241 fix: escaped $$x* antiquotation splices 2022-07-25 10:09:58 +02:00
Lars
105bfcc8f0
feat: allow custom ignore functions for the unused variables linter
Co-authored-by: Sebastian Ullrich <sebasti@nullri.ch>
2022-07-25 09:16:44 +02:00
tydeu
938516b00c chore: update Lake 2022-07-25 08:52:00 +02:00
Leonardo de Moura
8335a82aed refactor: improve MVarId method discoverability
See issue #1346
2022-07-24 21:36:33 -07:00
Leonardo de Moura
b6e9d58537 feat: add [deprecated] attribute 2022-07-24 18:06:03 -07:00
Leonardo de Moura
f1f5a4b39e chore: naming convention 2022-07-24 17:44:29 -07:00
Leonardo de Moura
a62949c49b refactor: add type LevelMVarId (and abbreviation LMarId)
Motivation: make sure we do not mixup metavariable ids for
expression and universe level.

cc @bollu
2022-07-24 17:21:45 -07:00
Leonardo de Moura
949dddbf63 fix: lean_float_array_data 2022-07-24 17:05:28 -07:00
Leonardo de Moura
2c825de6a1 fix: elim_scalar_array_cases 2022-07-24 14:46:46 -07:00