Commit graph

30004 commits

Author SHA1 Message Date
Sebastian Ullrich
bc1a2dcaf2 chore: update RELEASES.md 2022-10-14 16:18:27 +02:00
Rishikesh Vaishnav
76c4693c95
fix: improve fuzzy-matching heuristics (#1710) 2022-10-14 16:17:14 +02:00
Sebastian Ullrich
f7651de424 chore: CI: avoid skipped dependencies hellhole 2022-10-14 13:28:17 +02:00
Sebastian Ullrich
cf24f559b6 chore: CI: make jobs actually cancellable 2022-10-14 13:28:17 +02:00
Mario Carneiro
4c1ed9e2bc fix: hovers in appUnexpander attr 2022-10-14 10:06:12 +02:00
Leonardo de Moura
31f2acd97a chore: cleanup trace messages 2022-10-13 18:56:17 -07:00
Leonardo de Moura
19301c09c6 chore: remove unnecessary match 2022-10-13 18:56:17 -07:00
Mario Carneiro
857e452281 feat: optional doc comment for register_simp_attr 2022-10-13 18:52:56 -07:00
Leonardo de Moura
6ed89a4ceb chore: revert cross module lambda lifting cache
It adds almost 50Mb to the .olean files.
2022-10-13 18:42:52 -07:00
Leonardo de Moura
81abf49196 chore: avoid many copies of the panic message "index out of bounds" 2022-10-13 18:42:52 -07:00
Sebastian Ullrich
828aea48f4 chore: CI: cancel outdated workflows 2022-10-13 21:45:46 +02:00
Sebastian Ullrich
6b8fa76265 test: benchmark workspace symbols search 2022-10-13 21:41:58 +02:00
Leonardo de Moura
ac9d65b17b feat: cache lambda lifting 2022-10-13 11:24:14 -07:00
Sebastian Ullrich
50a0c9bda7 chore: Nix: remove dead ileans 2022-10-13 18:12:55 +02:00
Leonardo de Moura
66c593a322 chore: update stage0 2022-10-13 08:22:11 -07:00
Leonardo de Moura
518123b191 feat: more conservative SpecParamInfo inference 2022-10-13 08:20:55 -07:00
Leonardo de Moura
407c744ae5 chore: add workarounds for old code generator
It is a bit ironic that the new code generator should contain
workarounds for the old one.
2022-10-13 07:09:19 -07:00
Sebastian Ullrich
02560aab73 chore: nicer pp.raw.showInfo output 2022-10-13 15:50:22 +02:00
Leonardo de Moura
dfd95c712e chore: fix tests 2022-10-13 06:16:56 -07:00
Leonardo de Moura
886ed9b2e3 fix: remove function expected error at LCNF 2022-10-13 06:16:25 -07:00
Leonardo de Moura
c33b5b6588 chore: remove unnecessary eqvTypes 2022-10-13 06:08:51 -07:00
Leonardo de Moura
aae12d5ee2 chore: update stage0 2022-10-13 06:03:15 -07:00
Leonardo de Moura
bc2b891e7e refactor: remove type compatibility sanity checks at LCNF Check.lean
See new note at `Check.lean` for details.
2022-10-13 06:01:41 -07:00
Leonardo de Moura
4ac802dd9a chore: fix test 2022-10-13 04:31:46 -07:00
Leonardo de Moura
637a3e6331 chore: update stage0 2022-10-13 04:27:12 -07:00
Leonardo de Moura
1f54c0126c doc: add note at Decl.simp 2022-10-13 04:26:05 -07:00
Leonardo de Moura
2563fda777 feat: enable eager lambda lifting 2022-10-13 04:22:19 -07:00
Leonardo de Moura
0966f14233 fix: local function declarations size may be 0 2022-10-13 03:34:14 -07:00
Leonardo de Moura
2675c0647b feat: detect unreachable cases alternatives at LCNF simp 2022-10-13 02:49:55 -07:00
Leonardo de Moura
8039c15351 chore: update stage0 2022-10-13 02:09:14 -07:00
Leonardo de Moura
af99715a58 feat: store inline attribute at LCNF declarations
This commit also adds support for inheriting the inline attribute when
the compiler lambda lifts local functions from instances.
2022-10-13 02:06:35 -07:00
Sebastian Ullrich
e7b90b489a fix: stabilize unused variables linter output 2022-10-13 10:46:53 +02:00
Leonardo de Moura
870de844dc chore: annotate relevant monadic code with [alwaysInline]
TODO: after we delete old code generator, we should replace
`@[alwaysInline, inline]` with `@[alwaysInline]`.

Remainder: we want the old code generator to ignore `@[alwaysInline]`
annotations, in particular, the new ones on `instance` commands that
are actually annotations for the instance methods.
2022-10-12 19:48:02 -07:00
Gabriel Ebner
38d3e37c75 perf: improve Unhygienic.run code 2022-10-12 19:36:05 -07:00
Leonardo de Moura
3d2ba4f3d0 chore: update stage0 2022-10-12 17:11:53 -07:00
Leonardo de Moura
b9f174604d feat: check new alwaysInline attribute 2022-10-12 16:55:16 -07:00
Leonardo de Moura
49a6f8c105 chore: add horrible hack for Decidable in the new code generator
cc @gebner
2022-10-12 16:53:29 -07:00
Leonardo de Moura
7308fa0e7d feat: ensure lambda lifter is creating unused names 2022-10-12 16:35:55 -07:00
Leonardo de Moura
8fe4b75c48 feat: do not inline definitions occurring in instances at the base phase 2022-10-12 16:24:16 -07:00
Leonardo de Moura
5606b4e59e feat: add [alwaysInline] attribute
We are planning to ignore the `[inline]` attribute when the "inlining
quota" has been exhausted in the new code generator.
2022-10-12 16:08:37 -07:00
Chris Lovett
a6b847430d fix: highlight of deriving instance (#1717) 2022-10-12 14:24:16 -07:00
Gabriel Ebner
fb6cb05465 feat: support let_fun in new compiler 2022-10-12 11:52:28 -07:00
Gabriel Ebner
79569c9003 chore: replace let by have in stx matches 2022-10-12 11:52:28 -07:00
Sebastian Ullrich
18a4b277fc test: more fair qsort.ml benchmark 2022-10-12 20:22:55 +02:00
Mario Carneiro
c06cffa54f refactor: rename isExitCommand -> isTerminalCommand 2022-10-12 11:11:31 -07:00
Mario Carneiro
8dfae9eb38 feat: import command stub 2022-10-12 11:11:31 -07:00
Leonardo de Moura
aa845dee98 feat: cache lambda lifted functions 2022-10-11 21:28:03 -07:00
Leonardo de Moura
767bda2c28 chore: preparing to change the semantics of @[inline] instance
In the new code generator, we are going to lambda lift the instance
methods before saving the code at the end of the base phase. The goal is to make instance
ligth weight and cheap to inline. The anotation `@[inline]` is going
to be an annotation for the lambda lifted methods.
2022-10-11 20:35:56 -07:00
Gabriel Ebner
1de142a20b chore: update release notes 2022-10-11 17:24:35 -07:00
Gabriel Ebner
f58b26b4b0 chore: update LeanInk 2022-10-11 17:24:35 -07:00