Gabriel Ebner
d36552848c
chore: hide weird RpcEncoding behind Nonempty
2022-07-19 22:55:42 +02:00
Gabriel Ebner
ed5e0f098c
fix: support non-type params in RpcEncoding
2022-07-19 22:55:42 +02:00
Gabriel Ebner
cde339c2fb
feat: support recursive types in RpcEncoding
2022-07-19 22:55:42 +02:00
Gabriel Ebner
b7bcb1616a
chore: add inhabited instance for RpcEncoding
...
This allows us to define RpcEncodings as partial defs.
2022-07-19 22:55:42 +02:00
Gabriel Ebner
bcf2bf994b
chore: exploit that command* is command as well
2022-07-19 22:55:42 +02:00
Gabriel Ebner
89dfff24ce
chore: avoid $(mkIdent ``foo)
2022-07-19 22:55:42 +02:00
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
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
e1fc904786
feat: attributes on syntax
...
closes #1321
2022-07-18 23:37:11 -04:00
Leonardo de Moura
d95163641a
chore: indent docstrings
2022-07-18 22:36:55 -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
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
Gabriel Ebner
3edf22f3f5
fix: crash in binop%
2022-07-17 09:57:56 -07:00
Gabriel Ebner
ff3c67d1ad
feat: recover from errors in attributes
2022-07-16 06:19:54 -07:00
Sebastian Ullrich
0835145246
feat: ppCategory
2022-07-15 10:58:29 +02: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
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
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
Leonardo de Moura
b8ed579289
fix: fixes #1300
2022-07-12 14:08:47 -07:00
Leonardo de Moura
1235832314
feat: add runPendingTacticsAt (e : Expr)
2022-07-12 14:07:55 -07:00
Leonardo de Moura
e03e0bd254
refactor: split syntheticMVars into a map and todo-stack
2022-07-12 13:07:36 -07:00
Leonardo de Moura
64dbbb50f8
chore: cleanup
2022-07-12 09:26:00 -07:00
Leonardo de Moura
309f8d6bf9
fix: implicit arguments must be processed with at least default transparency
...
see #1299
2022-07-11 19:11:46 -07:00
Leonardo de Moura
5bd1f7bba1
fix: special support for higher order output parameters at isDefEqArgs
...
closes #1299
2022-07-11 19:05:24 -07:00
Leonardo de Moura
4d81c609cc
chore: cleanup
2022-07-11 18:52:55 -07:00
Leonardo de Moura
3fd2250799
feat: add higherOrderOutParam to ParamInfo
...
Helper info for #1299
2022-07-11 18:52:01 -07:00
Leonardo de Moura
709f22c8e4
feat: add field dependsOnHigherOrderOutParam to ParamInfo
...
See issue #1299
2022-07-11 17:49:49 -07:00
Leonardo de Moura
f657aed798
feat: store outParam positions
2022-07-11 17:21:31 -07:00