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
642cf0bc6d
feat: add option pp.showLetValues
...
closes #1345
2022-07-26 17:53:34 -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
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
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
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
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
Sebastian Ullrich
da44604c1b
fix: notation delaborator on over-application
2022-07-25 13:42:37 -07:00
Wojciech Nawrocki
12b3573c14
fix: tests
2022-07-25 08:01:27 -07:00
Wojciech Nawrocki
122748ab06
test: strip some more indices
2022-07-25 08:01:27 -07:00
Wojciech Nawrocki
5183887722
test: fix infoTree.lean
2022-07-25 08:01:27 -07:00
Ed Ayers
05f79def8c
style: tests/lean/interactive/run.lean
...
Co-authored-by: Gabriel Ebner <gebner@gebner.org>
2022-07-25 08:01:27 -07:00
E.W.Ayers
c4c87ebe55
test: remove unused rpc case from runner
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
Leonardo de Moura
262ac674aa
feat: improve runTactic
...
It must catch exceptions.
See #1342
2022-07-25 07:41:50 -07: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
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
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
e0882e098b
chore: avoid stackoverflow in debug build
2022-07-24 14:47:51 -07:00
Leonardo de Moura
2c825de6a1
fix: elim_scalar_array_cases
2022-07-24 14:46:46 -07:00
Leonardo de Moura
5e877b115b
feat: improve calc tactic
...
> Heather suggested changing the calc tactic (not the term) such that if
the final RHS does not defeq match the goal RHS, it returns a final
inequality as a subgoal.
Closes #1342
2022-07-24 14:30:15 -07:00
Leonardo de Moura
c46ef56ac7
perf: avoid blowup at deriving Repr
...
The fix is not perfect. I just avoided inlining in some builtin `Repr` instances.
The actual problem is at `ElimDeadBranches.lean`.
Closes #1365
2022-07-24 13:10:04 -07:00
Leonardo de Moura
5253cc6742
fix: compiler support for FloatArray.casesOn and ByteArray.casesOn
...
closes #1311
2022-07-24 12:36:08 -07:00
Leonardo de Moura
7829be9d54
fix: fixes #1333
2022-07-24 12:19:53 -07:00
Leonardo de Moura
2196a3518e
perf: improve lazy_delta_reduction_step heuristic
...
It addresses a performance issue reported at
https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/performance.20of.20equality.20with.20projections.2Fmutual/near/288083209
2022-07-24 11:48:45 -07:00
Leonardo de Moura
6cff1f1813
fix: try to postpone by .. if expectedType? = none
...
Reason: it may become `some ..` later. See issue #1359
Closes #1359
2022-07-24 08:03:25 -07:00
Leonardo de Moura
28fc2f9d37
fix: improve "{varName} cannot be reassigned" error message
...
closes #1341
2022-07-24 07:44:34 -07:00
Leonardo de Moura
ad5ee05a03
chore: consistent use of backticks in error messages at Do.lean
2022-07-24 07:42:04 -07:00
Leonardo de Moura
8de798c4a6
feat: reject [macroInline] declarations in recursive declarations
...
closes #1363
2022-07-24 07:26:35 -07:00
Sebastian Ullrich
5160cb7b0f
refactor: remove some unnecessary antiquotation kind annotations
2022-07-23 17:09:32 +02:00
Mario Carneiro
f6211b1a74
chore: convert doc/mod comments from /- to /--//-! ( #1354 )
2022-07-22 12:05:31 -07:00
Leonardo de Moura
8f4ad15a47
fix: ensure messages associated with last exception are not lost at evalTactic
...
closes #1358
2022-07-22 12:05:29 -04:00
Sebastian Ullrich
1f081ee6cb
feat: doc comment support for unif_hint
2022-07-22 14:30:49 +02:00
Sebastian Ullrich
5d187b8beb
fix: register tokens in parser quotation
2022-07-21 23:49:57 +02:00
Sebastian Ullrich
563d42f6d6
fix: make foApprox mdata-invariant
2022-07-21 14:05:47 -07:00
Andrés Goens
b36b50adb2
feat: syntax for using while condition in proofs
2022-07-21 16:57:35 +00:00
Leonardo de Moura
b581c2fa17
fix: evalTactic
...
Another bug reported by Patrick.
2022-07-20 19:12:53 -04:00
E.W.Ayers
5bf5abe84f
test: update 533 test to include docstring
2022-07-20 15:30:30 -07:00
Sebastian Ullrich
c43a84ca30
fix: unsafe initialize
2022-07-20 22:37:01 +02:00
Leonardo de Moura
3846dd60fd
fix: evalTactic
...
This commit fixes bug reported by Patrick Massot.
It happened when using `macro_rules` and `elab_rules` for the same
`SyntaxNodeKind`.
It also fixes missing error messages when there is more than one
elaboration functions and there is `abortTactic` exception.
Remark: this commit also changes the evaluation order. Macros are
now tried before elaboration rules. The motivation is that macros are
already applied before elaboration functions in the term elaborator.
2022-07-19 23:28:14 -04:00
Gabriel Ebner
f2e7cbfbaf
chore: use inaccessible name for RpcEncodingPacket
2022-07-19 22:55:42 +02:00
Gabriel Ebner
4ce56f7c05
fix: use field names if specified
2022-07-19 22:55:42 +02:00
Gabriel Ebner
59f528e678
fix: support empty inductives in json derive
2022-07-19 22:55:42 +02:00
Gabriel Ebner
2c0f8fac99
feat: support unused params in RpcEncoding deriver
2022-07-19 22:55:42 +02:00