Commit graph

4435 commits

Author SHA1 Message Date
Leonardo de Moura
7995cb071f chore: add assertions to make sure TagDeclarationExtension and MapDeclarationExtension are not being misused
see #1111
2022-04-15 13:49:35 -07:00
Sebastian Ullrich
7797fa3e2d fix: fun (x ...) ... should not be treated as a pattern 2022-04-15 10:00:26 -07:00
Leonardo de Moura
a57403be6e feat: add hasCSimpAttribute 2022-04-15 09:44:50 -07:00
Ed Ayers
d8e2d58da7 doc: InfoTree code review
Co-authored-by: Wojciech Nawrocki <wjnawrocki+gh@protonmail.com>
2022-04-15 09:07:35 -07:00
E.W.Ayers
7d128c17dc doc: #1107 review 2022-04-15 09:04:28 -07:00
E.W.Ayers
9598e39c82 doc: InfoTree docstrings 2022-04-15 09:04:26 -07:00
E.W.Ayers
06e8cf5200 fix: allow non-leaf custom info
At the moment InfoTree has a constructor ofJson but this means that
you can't have a non-leaf ofJson. It would be better to have `ofJson` be a constructor of `Info`.
This is what this PR does.
2022-04-15 08:53:34 -07:00
Sebastian Ullrich
f98b6a3bb1 fix: fall-out from syntax kind lookup change 2022-04-15 08:50:46 -07:00
Sebastian Ullrich
a2baf2cb96 refactor: split term/command quotations 2022-04-15 08:50:46 -07:00
Sebastian Ullrich
e1fbc04c3b chore: accept unregistered syntax kinds in stage 1 2022-04-15 08:50:46 -07:00
E.W.Ayers
712967c6f6 refactor: registerRpcProcedure 2022-04-13 13:23:04 -07:00
Wojciech Nawrocki
d649fc9159 fix: RPC error message 2022-04-13 13:23:04 -07:00
Wojciech Nawrocki
367b0fc80f doc: note persistent exts are sometimes needed 2022-04-13 13:23:04 -07:00
E.W.Ayers
30dfabb2c7 fix: userRpcProcedures uses a persistent env ext 2022-04-13 13:23:04 -07:00
Leonardo de Moura
8d2d0b3fbe chore: remove {} from structure command 2022-04-13 10:19:00 -07:00
Leonardo de Moura
efb859013e chore: ignore {} annotations at mk_projections 2022-04-13 10:16:41 -07:00
Leonardo de Moura
bd35e8a2be chore: remove {} from ctor parser 2022-04-13 08:47:21 -07:00
Leonardo de Moura
dbf5366704 feat: ignore {} annotation at constructors 2022-04-13 08:30:21 -07:00
Leonardo de Moura
2ec8385767 fix: isDomainDefEq 2022-04-13 07:54:47 -07:00
Leonardo de Moura
600769811e fix: bug at fixedIndicesToParams 2022-04-13 07:33:32 -07:00
Leonardo de Moura
3bdb385c19 fix: make sure "eta for structures" in the elaborator uses projection functions if available 2022-04-11 19:23:10 -07:00
Leonardo de Moura
1add9b814b chore: style 2022-04-11 18:48:09 -07:00
Leonardo de Moura
3de607193f fix: withoutModifyingStateWithInfoAndMessagesImpl
Make sure it does not produced a corrupted `InfoTree`.
2022-04-11 16:57:55 -07:00
Leonardo de Moura
9f8dd99ccd fix: macro declare_config_elab was corrupting the info tree 2022-04-11 16:49:56 -07:00
Leonardo de Moura
e49179c807 fix: simp at local declaration should not create an auxiliary declaration when result is definitionally equal 2022-04-11 07:54:15 -07:00
Leonardo de Moura
fb64a4ccc0 fix: unfold should not create an auxiliary declaration when result is definitionally equal
This commit fixes an issue reported on Zulip
https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/Unfolding.20the.20type.20of.20a.20variable.20creates.20a.20new.20variable
2022-04-11 07:54:15 -07:00
larsk21
7cf4642d1b fix: apply workspace symbol limit after sorting by score 2022-04-11 16:08:55 +02:00
larsk21
235b6d8f69 fix: remove unnecessary fuzzy scoring rule 2022-04-11 16:08:55 +02:00
Leonardo de Moura
c2c2783f32 feat: improve dot name resolution by lazily unfolding resulting type
See new test to understand issue being fixed by this commit.
2022-04-10 14:37:27 -07:00
Leonardo de Moura
e4304ea1de fix: always save completion info at resolveName
See new test.
2022-04-10 08:00:03 -07:00
Leonardo de Moura
4d077214f9 feat: jump to definition for match pattern variables 2022-04-09 15:36:42 -07:00
Leonardo de Moura
4374ec4ad8 perf: use Kernel isDefEq for ground terms
`state8.lean` now takes 0.29s. It was 0.37s.
2022-04-09 12:24:20 -07:00
Leonardo de Moura
4dd2b26e06 fix: rfl error message and corner case
The new `rfl` slightly improves the performance for `rfl` proofs of
ground terms.
Example: `state8.lean` now takes 0.37s. It was 0.52s.
2022-04-09 12:08:04 -07:00
Leonardo de Moura
03f6b87647 feat: add hand-written rfl tactic
It requires update stage0
2022-04-09 11:57:27 -07:00
Leonardo de Moura
298281baaf perf: skip logUnassignedUsingErrorInfos if pendingMVarIds is empty
`state8.lean` now takes 0.52s. It was 0.76s.
2022-04-09 10:45:52 -07:00
Leonardo de Moura
7d99f6f555 perf: isClassQuick? was incorrectly producing undef
Then `isClassExpensive?` was being invoked too often. In some
benchmarks the performance hit was substantial. For example,
in the new test `state8.lean`. The runtime on my machine went from 2s
to 0.76s.
2022-04-09 10:38:49 -07:00
Leonardo de Moura
6e02514eee chore: style 2022-04-09 10:27:31 -07:00
Leonardo de Moura
417421dbae fix: auto completion when autoBoundImplicit is active 2022-04-09 09:11:45 -07:00
Leonardo de Moura
87e6581e6b fix: constructor elaboration
fixes #1098
2022-04-08 18:19:06 -07:00
Leonardo de Moura
3cf425ba52 fix: pattern hover information
We annotate patterns with the corresponding `Syntax` during
elaboration, and do not populate the info tree. Reason: the set of
pattern variables is not known during pattern elaboration.
2022-04-08 15:03:42 -07:00
Leonardo de Moura
4793c7e734 feat: add isAppOfArity variant that skips Expr.mdata 2022-04-08 15:01:57 -07:00
Leonardo de Moura
152eff5cea chore: missing double ticks 2022-04-08 15:01:57 -07:00
Leonardo de Moura
ea682830d1 refactor: change addTermInfo type 2022-04-08 15:01:57 -07:00
Leonardo de Moura
5d8b4f33c0 feat: improve binder names introduced by the match discriminant refinement feature 2022-04-08 06:49:09 -07:00
Leonardo de Moura
099fba43d3 chore: remove trace[Meta.debug] leftovers 2022-04-08 06:49:09 -07:00
E.W.Ayers
917fa74366 doc: docstrings for decls and attributes
Co-authored-by: Sebastian Ullrich <sebasti@nullri.ch>
2022-04-08 04:19:38 -07:00
Leonardo de Moura
cec0f81926 chore: add instantiateMVars 2022-04-07 18:46:45 -07:00
Leonardo de Moura
37b321229f feat: make sure hover information does not include @ for constants 2022-04-07 18:40:04 -07:00
Leonardo de Moura
55989c25fc chore: remove unnecessary args 2022-04-07 18:19:15 -07:00
Leonardo de Moura
de2e2447d2 chore: style 2022-04-07 17:35:05 -07:00