Commit graph

28751 commits

Author SHA1 Message Date
Gabriel Ebner
76e8a40237 chore: pick slightly nicer user-facing names 2022-07-19 22:55:42 +02:00
Gabriel Ebner
8b9c7ebf43 chore: simplify deriveWithRefInstance 2022-07-19 22:55:42 +02:00
Gabriel Ebner
bffd762822 feat: improve RpcEncoding derive test 2022-07-19 22:55:42 +02:00
Gabriel Ebner
c81b10f296 perf: implement Level.update* in Lean 2022-07-19 05:55:13 -07:00
Gabriel Ebner
eda3eae18e perf: implement Expr.update* in Lean 2022-07-19 05:55:13 -07:00
Sebastian Ullrich
1611cf63c3 fix: make document symbols request deterministic 2022-07-19 12:23:03 +02:00
tydeu
9d4a72bf6a feat: up to spec SemanticTokens/Type/Modifier 2022-07-19 11:57:57 +02:00
Sebastian Ullrich
987785242f fix: disable auto implicits in structure field default values 2022-07-18 21:09:56 -07:00
Ed Ayers
2d28a9dd94
doc: explain AttributeKind (#1316) 2022-07-18 21:04:18 -07:00
Scott Morrison
5c79973300
feat: allow an ApplyConfig argument at constructor tactic (#1319) 2022-07-18 21:02:31 -07:00
Leonardo de Moura
73fce217f6 test: for issue #1321 2022-07-18 23:50:41 -04:00
Leonardo de Moura
678cfda909 chore: update stage0 2022-07-18 23:44:45 -04:00
Leonardo de Moura
e1fc904786 feat: attributes on syntax
closes #1321
2022-07-18 23:37:11 -04:00
Leonardo de Moura
3325987be4 chore: fix tests 2022-07-18 23:18:59 -04:00
Leonardo de Moura
d95163641a chore: indent docstrings 2022-07-18 22:36:55 -04:00
Leonardo de Moura
3691fb2c34 chore: update stage0 2022-07-18 22:29:56 -04:00
Leonardo de Moura
c341d8432f feat: remove leading spaces from docstrings 2022-07-18 22:18:15 -04:00
Leonardo de Moura
da71dd3d77 chore: docstring 2022-07-18 22:16:32 -04:00
Leonardo de Moura
e8b58abdb2 chore: remove dead code 2022-07-18 22:16:32 -04:00
Sebastian Ullrich
be11e8e29b doc: missing linebreak 2022-07-18 22:31:16 +02:00
Mac
ad0288d767
feat: allow registering/chaining LSP handlers in initialize 2022-07-18 09:38:30 +02:00
Leonardo de Moura
5083d47e4d doc: some Syntax 2022-07-17 17:57:33 -04:00
Leonardo de Moura
7331fdf310 doc: Expr.lean 2022-07-17 17:28:28 -04:00
Leonardo de Moura
875b3c84b4 fix: bug at Match.lean 2022-07-17 14:55:57 -04:00
Leonardo de Moura
7cb011e94c doc: Expr.lean 2022-07-17 14:49:55 -04:00
Leonardo de Moura
2116f69315 chore: unused variables 2022-07-17 13:04:08 -04:00
Gabriel Ebner
3edf22f3f5 fix: crash in binop% 2022-07-17 09:57:56 -07:00
Sebastian Ullrich
8972cc9baf chore: Nix: cache Leanc-deps 2022-07-16 16:19:01 +02:00
Gabriel Ebner
ff3c67d1ad feat: recover from errors in attributes 2022-07-16 06:19:54 -07:00
Gabriel Ebner
69da058c03 fix: tests/lean/625.lean 2022-07-16 06:19:54 -07:00
Sebastian Ullrich
6bf7648941 doc: spurious space 2022-07-16 14:51:16 +02:00
Sebastian Ullrich
392c72db86 chore: Nix: renderLean/renderDir 2022-07-15 18:44:17 +02:00
Sebastian Ullrich
0835145246 feat: ppCategory 2022-07-15 10:58:29 +02:00
Leonardo de Moura
fb9b093cf9 chore: update example 2022-07-13 15:15:00 -07:00
Leonardo de Moura
94df25e99b chore: update example 2022-07-13 15:13:31 -07:00
Leonardo de Moura
cce2d3500e test: for issue #1301
closes #1301
2022-07-13 06:05:12 -07:00
larsk21
123fd801cb doc: linter utils 2022-07-13 10:35:37 +02:00
larsk21
9980123291 fix: check if variables are used first 2022-07-13 10:35:37 +02:00
larsk21
70aff92f8f fix: short-circuit ignore functions in unused variables linter 2022-07-13 10:35:37 +02:00
larsk21
9fcae6ffe9 fix: replace constant with opaque 2022-07-13 10:35:37 +02:00
larsk21
15f9c0585a fix: consider macro expansions in unused variables linter 2022-07-13 10:35:37 +02:00
larsk21
ced8df3e86 fix: references of variables with equal ranges 2022-07-13 10:35:37 +02:00
Leonardo de Moura
d0222990d0 chore: update stage0 2022-07-12 18:40:33 -07:00
Leonardo de Moura
b6860968ff fix: catch exception at elabMutualDef
closes #1301
2022-07-12 18:39:30 -07:00
Leonardo de Moura
fdef55339f fix: use binop% for elaborating ^
closes #1298
2022-07-12 18:20:02 -07:00
Leonardo de Moura
95f3f6b811 chore: update stage0 2022-07-12 18:14:29 -07:00
Leonardo de Moura
5e333191a2 feat: improve binop% and binrel% elaboration functions
Add support for operators that may not have homogeneous instances for
all types. For example, we have `HPow Nat Nat Nat` and `HPow Int Nat Int`,
but we don't have `HPow Int Int Int`.
2022-07-12 18:12:20 -07:00
Leonardo de Moura
a0e459999b chore: cleanup 2022-07-12 17:36:04 -07:00
Leonardo de Moura
d1f0db7072 fix: resumePostponed backtracking
Note that test for issue #1200 broke.
The bug fixed by this commit was allowing the example to be elaborated
correctly :(
Initially, the type of the discriminant is not available, and
`.none (α:=α)` can only be elaborated when the expected type is of the
form `C ...`. Lean then tries to elaborate the alternatives, learn
that the discriminant should be `Option ?m`, and fails because the
patterns still have metavariables after elaboration. Before the bug
fix, `resumePostpone` was **not** restoring the metavariable context,
and the assingnment would stay there. With this information, Lean
can now elaborate `.none (α:=α)`.
Although the bug had a positive impact in this case, it produced
incorrect behavior in other examples.
The fixed example looks reasonable. Thus, we will not reopen
issue #1200
2022-07-12 16:52:45 -07:00
Leonardo de Moura
ca4bd67746 chore: cleanup 2022-07-12 16:42:31 -07:00