Commit graph

33 commits

Author SHA1 Message Date
Leonardo de Moura
49823c28c4 fix: inlining heuristic 2022-08-19 16:23:37 -07:00
Leonardo de Moura
15f0e26368 feat: replace cases alternative with unreachable if one of the fields is the empty type 2022-08-19 12:25:46 -07:00
Leonardo de Moura
d0c8ad1d22 feat: reduce number of simp steps 2022-08-19 05:54:50 -07:00
Leonardo de Moura
bf2c0bf5b7 feat: avoid generation of auxliary join points when inlining functions that have only one exit point 2022-08-18 00:12:24 -07:00
Leonardo de Moura
1d936e2d6b feat: sanity checking at attachJp 2022-08-17 09:47:59 -07:00
Leonardo de Moura
f0370749f9 feat: check whether there are jumps to out of scope join points
In a local function declaration, we can only jump to local join
points.
2022-08-17 09:38:19 -07:00
Leonardo de Moura
600740da85 feat: inlining local function declarations 2022-08-16 18:23:49 -07:00
Leonardo de Moura
aac711cf92 feat: inlining statistics 2022-08-16 18:23:49 -07:00
Leonardo de Moura
37ba0df584 feat: do not generate code for matcher auxiliary declarations
We are macro inlining them.
2022-08-15 20:10:33 -07:00
Leonardo de Moura
37057fdd31 feat: eagerly inline simple join points 2022-08-12 11:15:12 -07:00
Leonardo de Moura
623e0e9af9 feat: TerminalCases for new LCNF 2022-08-11 18:40:13 -07:00
Leonardo de Moura
3d79581f6b feat: basic LCNF conversion 2022-08-11 18:40:13 -07:00
Leonardo de Moura
66eb47d21a feat: type checker for LCNF 2022-08-10 20:22:38 -07:00
Leonardo de Moura
3c6c395e44 feat: add TerminalCases.lean 2022-08-07 22:05:19 -07:00
Leonardo de Moura
7359f95088 refactor: treat casesOn and matcher applications uniformly 2022-08-07 18:04:38 -07:00
Leonardo de Moura
ee70805c35 feat: add LCNF missing cases 2022-08-06 20:23:29 -07:00
Mario Carneiro
f6211b1a74
chore: convert doc/mod comments from /- to /--//-! (#1354) 2022-07-22 12:05:31 -07:00
Gabriel Ebner
a8cab84735 refactor: use computed fields for Expr 2022-07-11 14:19:41 -07:00
Gabriel Ebner
eba400543d refactor: use computed fields for Name 2022-07-11 14:19:41 -07:00
Gabriel Ebner
b48061ed23 feat: expose lower level compile function 2022-07-11 12:26:53 -07:00
Leonardo de Moura
445cc3085f refactor: avoid Name, MVarId, and FVarId confusion 2021-09-07 19:06:50 -07:00
Leonardo de Moura
53ec43ff9b refactor: lazy evaluation for >>, <*>, <*, and *>
see issue: #617
2021-09-07 17:50:34 -07:00
Leonardo de Moura
b6bb31a131 feat: "compile" 'extern' axioms 2021-01-13 09:43:25 -08:00
Leonardo de Moura
0869f38de4 chore: update structure, class, inductive 2020-11-27 15:09:30 -08:00
Leonardo de Moura
f17e226638 chore: naming convention
Example: `mkNameStr` => `Name.mkStr`

cc @Kha
2020-11-11 10:08:55 -08:00
Leonardo de Moura
898a08a0c1 chore: avoid Has prefix in type classes
closes #203
2020-10-27 18:29:19 -07:00
Leonardo de Moura
13c2a8ff51 chore: remove #lang lean4 header 2020-10-25 09:54:07 -07:00
Leonardo de Moura
c7dc61adb9 chore: cleanup 2020-10-23 10:00:23 -07:00
Leonardo de Moura
d2803d13d3 chore: move to new frontend 2020-10-17 07:10:05 -07:00
Leonardo de Moura
07254fc71b fix: checkIsDefinition
For '[inline] partial' definitions in mutual blocks.
2020-10-12 15:57:39 -07:00
Leonardo de Moura
20c041b421 feat: mkUnsafeRecName and isUnsafeRecName? in Lean 2020-09-05 08:03:52 -07:00
Leonardo de Moura
249bda16c0 chore: remove prelude commands from Lean package 2020-06-25 11:21:17 -07:00
Leonardo de Moura
4ccc3fef52 chore: move Init.Lean files to Lean package 2020-05-26 15:04:35 -07:00
Renamed from src/Init/Lean/Compiler/Util.lean (Browse further)