Commit graph

227 commits

Author SHA1 Message Date
Leonardo de Moura
d0203ca1dc feat: add Decl.ensureUniqueLetVarNames 2022-08-15 13:03:07 -07:00
Leonardo de Moura
142b9bec36 feat: add ensureUniqueLetVarNames 2022-08-15 12:59:36 -07:00
Leonardo de Moura
e931c6b5b5 fix: bug at toLCNF 2022-08-15 12:59:36 -07:00
Leonardo de Moura
4f79d2caa0 feat: improve toLCNF
Preserve type formers only if they are application arguments
2022-08-15 09:53:48 -07:00
Leonardo de Moura
126ad49401 feat: add stage1 extension for storing LCNF declarations 2022-08-14 10:59:36 -07:00
Henrik Böving
afbe296edb doc: doc-strings for CompilerM 2022-08-14 09:33:58 -07:00
Henrik Böving
8e29fa88eb fix: address code review for jp checker 2022-08-14 09:33:58 -07:00
Henrik Böving
ff9c9032b4 feat: join point validator 2022-08-14 09:33:58 -07:00
Mario Carneiro
b3ba6d4bf7 fix: use resolveGlobalConstNoOverloadWithInfo more 2022-08-13 18:20:55 -07:00
Henrik Böving
0d27c5c5cd doc: doc-strings for the entrypoints of the compiler 2022-08-13 17:11:07 -07:00
Leonardo de Moura
745f77c657 chore: let x := lcUnreachable .. should not occur in LCNF 2022-08-13 16:24:44 -07:00
Leonardo de Moura
6c5638d85b fix: bug at toLCNF 2022-08-13 15:22:22 -07:00
Leonardo de Moura
996968c54c chore: display LCNF declaration type at Compiler.step 2022-08-13 11:35:46 -07:00
Leonardo de Moura
d2c0aa4d6d chore: remove dead code 2022-08-13 11:24:51 -07:00
Leonardo de Moura
9b1db198af fix: bug at toLCNF 2022-08-13 10:30:12 -07:00
Leonardo de Moura
212456720c fix: bug at TerminalCases
`Context.jp?` is not a continuation for the local lambda.
2022-08-13 10:15:43 -07:00
Leonardo de Moura
d439160f31 fix: missing cases at compatibleTypes 2022-08-13 10:03:14 -07:00
Leonardo de Moura
0a423b3699 fix: ensure the the terminal expression in let-declaration block is not a lambda 2022-08-13 09:47:59 -07:00
Leonardo de Moura
a17d00867f feat: common subexpression elimination 2022-08-12 16:52:18 -07:00
Leonardo de Moura
dc69a20893 feat: add mapValue 2022-08-12 16:38:20 -07:00
Leonardo de Moura
0b585d6f3d fix: bug at Compiler/Check.lean 2022-08-12 13:59:56 -07:00
Leonardo de Moura
37057fdd31 feat: eagerly inline simple join points 2022-08-12 11:15:12 -07:00
Leonardo de Moura
84d9c6ed8b fix: bug at TerminalCases.lean 2022-08-12 10:59:15 -07:00
Leonardo de Moura
cfbefd993b fix: lambdaBoundedTelescope at Compiler/Check.lean 2022-08-12 10:20:54 -07:00
Leonardo de Moura
104196e599 feat: add profileitM to compiler new entry point 2022-08-11 19:04:33 -07:00
Leonardo de Moura
e04453a89e chore: improve getMaxLetVarIdx 2022-08-11 19:01:41 -07:00
Leonardo de Moura
6d5272a404 fix: new compiler type checker 2022-08-11 18:57:06 -07:00
Leonardo de Moura
2eab711308 chore: add trace.Compiler.step 2022-08-11 18:40:13 -07:00
Leonardo de Moura
77735e62f5 chore: remove leftovers 2022-08-11 18:40:13 -07:00
Leonardo de Moura
623e0e9af9 feat: TerminalCases for new LCNF 2022-08-11 18:40:13 -07:00
Leonardo de Moura
073e72181d fix: bug at Compiler.inferType
Check whether declaration type mismatch at `Compiler.Decl.check`
2022-08-11 18:40:13 -07:00
Leonardo de Moura
5dbb907b56 feat: new toLCNF 2022-08-11 18:40:13 -07:00
Leonardo de Moura
6a67c13044 feat: generalize helper functions 2022-08-11 18:40:13 -07:00
Leonardo de Moura
4361eef907 fix: improve compatibleTypes and Compiler.check 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
e67a43ab01 refactor: disable old LCNF and TerminalCases
TODO: finish porting them to the new format.
2022-08-10 20:25:59 -07:00
Leonardo de Moura
66eb47d21a feat: type checker for LCNF 2022-08-10 20:22:38 -07:00
Leonardo de Moura
d61b8fc68d test: for LCNF types 2022-08-10 11:07:13 -07:00
Leonardo de Moura
646b2d3b83 feat: add Lean.Compiler.compatibleTypes 2022-08-10 10:30:24 -07:00
Leonardo de Moura
18ccc01cf1 feat: add inferType for LCNF 2022-08-09 17:33:24 -07:00
Leonardo de Moura
9e00cbd6d8 feat: add LCNFTypes.lean 2022-08-09 15:47:58 -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
c16bec6e30 refactor: move auxiliary let declaration support to CompilerM.lean 2022-08-07 17:27:40 -07:00
Leonardo de Moura
ee70805c35 feat: add LCNF missing cases 2022-08-06 20:23:29 -07:00
Leonardo de Moura
c5b5a1c6f9 chore: generate auxiliary variable names manually at LCNF.lean 2022-08-06 20:20:50 -07:00
Leonardo de Moura
bf59ad0efc feat: add new compiler entry point function 2022-08-06 08:05:07 -07:00
Leonardo de Moura
9a16d4afce feat: add CompilerM.lean and LCNF.lean 2022-08-05 21:14:39 -07:00
Mario Carneiro
603b7486e3 feat: add go-to-def for simple attributes 2022-07-31 16:36:54 +02:00
Leonardo de Moura
3896244c55 chore: cleanup 2022-07-25 22:39:56 -07:00