Commit graph

29465 commits

Author SHA1 Message Date
Leonardo de Moura
fde8d35bbb refactor: declare passes when declaring transformations 2022-09-05 06:58:32 -07:00
Leonardo de Moura
1c41a750ed feat: add ReduceJpArity compiler pass 2022-09-05 06:58:32 -07:00
Mario Carneiro
a73e02e5fc doc: fix typo 2022-09-05 10:24:57 +02:00
Leonardo de Moura
e0197b4e09 feat: add bindCases
It is similar to `Code.bind` but has special support for `inlineMatcher`
2022-09-04 19:04:21 -07:00
Leonardo de Moura
d0600b3750 fix: incorrect binder name being used
cc @hargoniX
2022-09-04 16:56:42 -07:00
Leonardo de Moura
abd37d8fd1 feat: check binder names at LCNF/Check.lean 2022-09-04 16:55:42 -07:00
Leonardo de Moura
01ca711859 feat: add PullFunDecls.lean 2022-09-04 16:44:45 -07:00
Leonardo de Moura
df16c5a0e7 feat: add Code.collectUsed and FunDecl.collectUsed 2022-09-04 13:05:48 -07:00
Leonardo de Moura
b3c5184772 chore: remove dead code 2022-09-04 07:14:01 -07:00
Henrik Böving
4ee9080a9b feat: basic compiler pass tests 2022-09-03 19:55:53 -07:00
Henrik Böving
32157f0e42 feat: Basic compiler testing framework 2022-09-03 19:55:53 -07:00
E.W.Ayers
30b44c03b4 fix: map fn should have explict args 2022-09-03 19:45:08 -07:00
E.W.Ayers
37745b5174 feat: intersectBy 2022-09-03 19:45:08 -07:00
E.W.Ayers
9cd24caee6 feat: utils for RBMap 2022-09-03 19:45:08 -07:00
Leonardo de Moura
56ea3af6e2 doc: Compiler/LCNF/Simp.lean 2022-09-03 19:44:10 -07:00
Leonardo de Moura
9f44e9c858 feat: simplify nested cases on the same discriminant 2022-09-03 19:44:10 -07:00
Mario Carneiro
bff9cdbfb3 doc: update lean 3 -> lean 4 in declarations.md 2022-09-03 08:35:37 -07:00
Leonardo de Moura
5478485de1 feat: allow "small prefix" at cases on cases optimization 2022-09-03 08:21:11 -07:00
Leonardo de Moura
bc88b0307e feat: cases on cases for new LCNF simplifier 2022-09-03 07:54:19 -07:00
Chris Lovett
e8335240d8
doc: update the mdbook instructions (#1521) 2022-09-03 11:08:38 +02:00
Mario Carneiro
37252e5fa7 chore: remove Bootstrap package 2022-09-02 16:39:03 -07:00
Leonardo de Moura
196c9537f2 feat: eta reduction at toLCNF 2022-09-02 06:31:06 -07:00
Leonardo de Moura
d5dcd5e856 feat: eta-expand local function declarations that are not being inlined 2022-09-02 05:22:41 -07:00
Mario Carneiro
158e182b8b chore: move Bootstrap.Dynamic -> Init.Dynamic 2022-09-02 04:36:54 -07:00
Mario Carneiro
07b1b54d03 chore: update stage0 2022-09-02 04:36:54 -07:00
Mario Carneiro
060290619e chore: move Bootstrap.Dynamic -> Init.Dynamic (part 1) 2022-09-02 04:36:54 -07:00
Leonardo de Moura
e3a8574e15 perf: workaround for issue #316 2022-09-02 04:15:02 -07:00
Leonardo de Moura
dfdbec51ad fix: typo 2022-09-02 03:41:49 -07:00
Leonardo de Moura
baf4f1c152 perf: simpValue? before inlineApp? 2022-09-02 03:20:59 -07:00
Leonardo de Moura
6297b2efe7 feat: do not eagerly simplify function declarations that will be inlined 2022-09-01 21:13:14 -07:00
Leonardo de Moura
21a7066d77 feat: inline type class projections 2022-09-01 20:52:08 -07:00
Leonardo de Moura
0ed46003c6 feat: add CodeDecl helper type 2022-09-01 20:52:08 -07:00
Leonardo de Moura
0b0bd968b0 feat: support for inlining join points 2022-09-01 20:52:08 -07:00
Leonardo de Moura
61edf19334 fix: allow LCNF discriminant to have any type 2022-09-01 20:52:08 -07:00
Leonardo de Moura
30c75b4b88 feat: add simpCasesOnCtor 2022-09-01 20:52:08 -07:00
Leonardo de Moura
255d34d2ac feat: add simpValue? back 2022-09-01 20:52:08 -07:00
Gabriel Ebner
3d6006885b feat: use widget source from first snapshot 2022-09-01 16:57:03 +02:00
Gabriel Ebner
4246d98547 fix: remove unnecessary BaseIO in AsyncList 2022-09-01 16:57:03 +02:00
Gabriel Ebner
9bfbabb9df fix: do not fail widget request after #exit 2022-09-01 16:57:03 +02:00
Gabriel Ebner
87a6dd56b8 feat: use RPC method from first snapshot
There is no need to wait for further snapshots if the RPC method was already found in an earlier snapshot, or even built-in.
2022-09-01 16:57:03 +02:00
Leonardo de Moura
29eddad325 chore: only check if compiler.check is set to true 2022-09-01 07:18:47 -07:00
Leonardo de Moura
cedf9e980b feat: check LCNF parameters 2022-09-01 07:17:53 -07:00
Leonardo de Moura
9874ef3c66 feat: check whether LetDecl and FunDecl match their values in the LCNF local context 2022-09-01 07:05:07 -07:00
Marcus Rossel
a2a39882d5 feat: add Hashable for Subtype 2022-09-01 06:11:23 -07:00
Leonardo de Moura
d96bf8a633 chore: restore accidentally deleted test
25447af13c
2022-09-01 06:06:03 -07:00
Leonardo de Moura
c201133d4d feat: LCNF local context dead variable checker
This commit also fixes a few local declaration leaks.
2022-08-31 21:07:21 -07:00
Leonardo de Moura
ddab48a154 fix: erase dead variables 2022-08-31 20:43:13 -07:00
Leonardo de Moura
a81c9f6c09 chore: update stage0 2022-08-31 20:21:28 -07:00
Leonardo de Moura
d00627364c feat: add simp compiler pass 2022-08-31 18:10:32 -07:00
Leonardo de Moura
ba0835e387 feat: refresh binder names during internalization 2022-08-31 18:10:32 -07:00