Commit graph

20682 commits

Author SHA1 Message Date
Gabriel Ebner
d87c36157a perf: speed up Expr.replace 2022-10-24 12:23:13 -07:00
Gabriel Ebner
dcc97c9bbe fix: preserve sharing in instantiateLevelParams 2022-10-24 12:23:13 -07:00
Gabriel Ebner
725aa8b39a refactor: instantiateTypeLevelParams in Lean 2022-10-24 12:23:13 -07:00
Mario Carneiro
e7c7678ab0 refactor: line wrapping in parser code 2022-10-24 08:37:29 -07:00
David Renshaw
e4ab10dc30 doc: fix some typos
assinged -> assigned
collction -> collection
2022-10-24 16:01:39 +02:00
mcdoll
6cf9a63193
doc: fix typo (#1775)
equaal -> equal
2022-10-24 15:05:51 +02:00
Sebastian Ullrich
3a12c99666 chore: register Elab.app trace classes 2022-10-24 13:16:36 +02:00
Yuri de Wit
c98b3a5388 fix: add local Hashable instance (fixes #1737)
When inductives are indirectly mutually recursive, say `inductive T | t
(args: List T)` instead of `inductive T | t (arg : T)`, Lean would fail
to find an instance of Hashable for `T` because it was not yet defined.

This commit makes sure that the deriving handler adds a needed Hashable T
instance to the local scope so that Hashable.hash can be resolved
recursively.
2022-10-23 21:26:04 +02:00
Mario Carneiro
c4cbefce11 feat: add linter.deprecated option to silence deprecation warnings 2022-10-23 21:11:57 +02:00
Mario Carneiro
b3ba78aade feat: hovers & name resolution in registerCombinatorAttribute (part 2) 2022-10-23 09:30:38 +02:00
Mario Carneiro
f168af76a7 feat: hovers & name resolution in registerCombinatorAttribute 2022-10-23 09:30:38 +02:00
David Renshaw
16320a297f doc: fix some typos
Leah -> Lean
giveName -> givenName
2022-10-22 21:16:35 +02:00
Henrik Böving
1e00eff3e7 fix: jp context extender missed out on some variables 2022-10-21 17:58:47 -07:00
Henrik Böving
dac6127810 feat: Compiler pass for reducing common jp args 2022-10-21 17:35:40 -07:00
Henrik Böving
a608532fd4 chore: Improve LCNF check goto error message 2022-10-21 17:35:40 -07:00
Gabriel Ebner
fc304d95c0 feat: Min/Max typeclasses 2022-10-21 14:36:38 -07:00
Gabriel Ebner
041307fd4b fix: build 2022-10-20 12:42:32 -07:00
E.W.Ayers
46112a5f2a fix: review 2022-10-20 11:20:42 -07:00
E.W.Ayers
c9a26596dc refactor: switch resolve to double eval strategy
Using option (2) from this comment:
https://github.com/leanprover/lean4/pull/1661#pullrequestreview-1135363727
2022-10-20 11:20:42 -07:00
E.W.Ayers
691835037e feat: code action resolvers 2022-10-20 11:20:42 -07:00
E.W.Ayers
297d06fc0c fix: issue where code action was not running 2022-10-20 11:20:42 -07:00
E.W.Ayers
c795e2b073 fix: rm CodeActionData 2022-10-20 11:20:42 -07:00
Ed Ayers
7f47a34656 style: apply suggestions from code review
Co-authored-by: Gabriel Ebner <gebner@gebner.org>
2022-10-20 11:20:42 -07:00
E.W.Ayers
260e42b0a7 doc: fix docs from review 2022-10-20 11:20:42 -07:00
E.W.Ayers
8085ce88e9 feat: CodeActionProvider
This is a low-level system for registering LSP code actions.
Developers can register their own code actions.
In future commits I am going to add features on top of this.
2022-10-20 11:20:42 -07:00
Leonardo de Moura
aeddcbdc6d fix: disable implicit lambdas at intro <pattern> notation
See issue reported at https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/intro.20with.20type.20specified/near/305150215
2022-10-20 09:04:06 -07:00
Leonardo de Moura
dddf9e8a3f chore: remove leftover comment 2022-10-20 08:35:47 -07:00
Mario Carneiro
dd8bbe9367 fix: catch kernel exceptions in Kernel.{isDefEq, whnf}
fixes #1756
2022-10-20 05:38:29 -07:00
awson
d5063c8fa7 fix: environment leak on Windows 2022-10-19 19:34:43 -07:00
Mario Carneiro
583e023314 chore: snake-case attributes (part 2) 2022-10-19 09:28:08 -07:00
Mario Carneiro
dd5948d641 chore: snake-case attributes (part 1) 2022-10-19 09:28:08 -07:00
Sebastian Ullrich
9fd433785b chore: register pretty printer trace classes 2022-10-19 14:51:07 +02:00
Gabriel Ebner
0c2a5580cb feat: enforce correct syntax kind in macros 2022-10-18 14:59:14 -07:00
Gabriel Ebner
fb4d90a58b feat: dynamic quotations for categories 2022-10-18 14:59:14 -07:00
Leonardo de Moura
084a173a47 feat: disable info tree while creating WF auxiliary definitions 2022-10-18 07:44:39 -07:00
Leonardo de Moura
1d6d61af89 feat: disable info tree while creating _unsafe_rec 2022-10-18 07:05:19 -07:00
Leonardo de Moura
4d51cdd1b7 feat: disable info tree while creating sunfold definitions
see #1750
2022-10-18 06:57:46 -07:00
Mario Carneiro
faa612e7b7 chore: remove #resolve_name 2022-10-17 14:53:51 -07:00
Mario Carneiro
8fc6a2a856 fix: dbg_trace tactic 2022-10-17 14:48:23 -07:00
Leonardo de Moura
641fa77738 chore: minimize the number of red-black insert specializations 2022-10-16 16:20:46 -07:00
Leonardo de Moura
ec59bbe15c chore: ensure LCNF pretty printer result supports Format.group 2022-10-16 16:06:08 -07:00
Leonardo de Moura
72c576f62a feat: complete reduceArity pass 2022-10-16 16:00:33 -07:00
Leonardo de Moura
9244a7a8a5 fix: ensure old and new compiler auxiliary declaration names do not collide 2022-10-16 14:49:55 -07:00
Leonardo de Moura
40f2247c61 perf: zero cost IR extension startup cost 2022-10-16 14:49:50 -07:00
Leonardo de Moura
defd544d5d feat: add collectUsedParams 2022-10-16 14:20:32 -07:00
Leonardo de Moura
4eaf22118a feat: add cse pass at mono phase 2022-10-16 08:58:06 -07:00
Leonardo de Moura
fd46ef01e8 chore: add another floatLetIn pass
See `elabAppFn` for a function that benefits from this extra pass.
2022-10-16 08:51:13 -07:00
Leonardo de Moura
ae627e9a58 chore: remove leftover from old frontend 2022-10-16 08:41:03 -07:00
Leonardo de Moura
c20febff31 feat: add helper Syntax.node* functions 2022-10-16 08:40:01 -07:00
Leonardo de Moura
729fd63b29 fix: incorrect initial array size 2022-10-16 07:48:30 -07:00