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 |
|
Leonardo de Moura
|
f19b122ab1
|
feat: add support for "jump-to-definition" at [implementedBy] attribute
see #1350
|
2022-07-25 12:06:55 -07:00 |
|
Leonardo de Moura
|
f1f5a4b39e
|
chore: naming convention
|
2022-07-24 17:44:29 -07:00 |
|
Leonardo de Moura
|
8de798c4a6
|
feat: reject [macroInline] declarations in recursive declarations
closes #1363
|
2022-07-24 07:26:35 -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
|
e4b358a01e
|
refactor: prepare to elaborate a[i] notation using typeclasses
|
2022-07-09 15:24:22 -07:00 |
|
Leonardo de Moura
|
2ebcf29cde
|
chore: use a[i]! for array accesses that may panic
|
2022-07-02 15:12:05 -07:00 |
|
Leonardo de Moura
|
f6d1e48cb8
|
fix: constant => opaque issues
|
2022-06-14 17:19:54 -07:00 |
|
Leonardo de Moura
|
02c4e548df
|
feat: replace constant with opaque
|
2022-06-14 17:02:59 -07:00 |
|
Leonardo de Moura
|
77ae79be46
|
chore: use let/if in do blocks
|
2022-06-13 17:10:14 -07:00 |
|
Leonardo de Moura
|
041827bed5
|
chore: unused variables
|
2022-06-07 17:54:10 -07:00 |
|
Sebastian Ullrich
|
f9e2a65f75
|
chore: further cleanup
Co-authored-by: Gabriel Ebner <gebner@gebner.org>
|
2022-06-07 16:37:45 -07:00 |
|
Sebastian Ullrich
|
8eefbf5227
|
chore: further clean up refactored code
|
2022-06-07 16:37:45 -07:00 |
|
Sebastian Ullrich
|
fb2a2b3de2
|
fix: fixup previous commit
|
2022-06-07 16:37:45 -07:00 |
|
Sebastian Ullrich
|
ae7b895f7a
|
refactor: unname some unused variables
|
2022-06-07 16:37:45 -07:00 |
|
Leonardo de Moura
|
0631c90794
|
feat: implement MonadLog at CoreM
|
2022-05-31 17:40:55 -07:00 |
|
Sebastian Ullrich
|
eb170d1f43
|
fix: compiled string literals containing null bytes
|
2022-05-17 09:24:34 -07:00 |
|
Leonardo de Moura
|
c65537aea5
|
feat: Option is a Monad again
TODO: remove `OptionM` after update stage0
see: https://leanprover.zulipchat.com/#narrow/stream/270676-lean4/topic/Do.20we.20still.20need.20OptionM.3F/near/279761084
|
2022-05-04 15:27:42 -07:00 |
|