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
|
320a5a708c
|
fix: avoid out-of-scope jumps at CSE
|
2022-08-17 09:06:00 -07:00 |
|
Leonardo de Moura
|
0d52a3f92b
|
fix: add attachJp
Auxiliary function for attaching jump to a join point to an existing
let-code block.
|
2022-08-17 07:32:11 -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
|
2f57a0e6d5
|
refactor: cleaup compiler simplifier
|
2022-08-16 18:23:49 -07:00 |
|
Leonardo de Moura
|
9f46996db7
|
feat: inliner
|
2022-08-16 18:23:49 -07:00 |
|
Leonardo de Moura
|
0e3e1353e2
|
feat: new Compiler trace classes
|
2022-08-16 18:23:49 -07:00 |
|
Leonardo de Moura
|
e8fdfe4193
|
feat: eliminate trivial let-declarations
|
2022-08-16 18:23:49 -07:00 |
|
Leonardo de Moura
|
117db0da01
|
feat: add Compiler/Simp.lean
|
2022-08-16 18:23:49 -07:00 |
|
Leonardo de Moura
|
daa833d5c9
|
feat: preserve internal let-declaration binder names
|
2022-08-16 18:23:49 -07:00 |
|
Leonardo de Moura
|
e876d81692
|
fix: missing withRoot true
|
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
|
7979d03386
|
fix: bug at CSE.lean
|
2022-08-15 20:04:29 -07:00 |
|
Leonardo de Moura
|
327442a85c
|
feat: add mkFreshBinderName and use it to normalize internal names
|
2022-08-15 19:47:37 -07:00 |
|
Leonardo de Moura
|
caf2bb0797
|
feat: inline auxiliary matcher applications
|
2022-08-15 19:47:05 -07:00 |
|
Leonardo de Moura
|
7ca3535820
|
refactor: add mkJump
|
2022-08-15 18:39:27 -07:00 |
|
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 |
|