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 |
|