Leonardo de Moura
|
67d9f4cd1e
|
chore(library/init/lean/compiler/ir): clarify
|
2019-05-06 10:52:33 -07:00 |
|
Leonardo de Moura
|
439ce06a19
|
refactor(library/init/lean/compiler/ir): move "free variable" code to separate file
|
2019-05-05 08:04:33 -07:00 |
|
Leonardo de Moura
|
7a5e64e52e
|
chore(library/init/lean/compiler): move IR related files to subdirectory
|
2019-05-05 07:55:36 -07:00 |
|
Leonardo de Moura
|
54fc37b00d
|
feat(library/init/lean/compiler): add Decl.normalizeIds
|
2019-05-03 22:46:56 -07:00 |
|
Leonardo de Moura
|
b6c4caf725
|
feat(library/init/lean/compiler/simpcase): do not create default case when there are no repeated branches
It reduces clarity without improving performance.
|
2019-05-03 20:48:52 -07:00 |
|
Leonardo de Moura
|
86faa5ade4
|
chore(library/init/lean/compiler/ir): modify join point formatter
|
2019-05-03 17:22:02 -07:00 |
|
Leonardo de Moura
|
80e9c4706f
|
fix(library/init/lean/compiler/resetreuse): bug during cleanup
|
2019-05-03 17:00:20 -07:00 |
|
Leonardo de Moura
|
4845a2dbc4
|
feat(library/init/lean/compiler): cleanup
|
2019-05-03 16:37:08 -07:00 |
|
Leonardo de Moura
|
c34b064e83
|
feat(library/init/lean/compiler/ir): add insertResetReuse
|
2019-05-03 14:20:14 -07:00 |
|
Leonardo de Moura
|
1e101d35a8
|
feat(library/init/lean/compiler/ir): add auxiliary functions
|
2019-05-03 12:19:58 -07:00 |
|
Leonardo de Moura
|
4cafd19f72
|
chore(library/init/lean/compiler): missing prelude
|
2019-05-03 12:19:58 -07:00 |
|
Sebastian Ullrich
|
c77970a00f
|
refactor(library): remove now-redundant parentheses
|
2019-05-03 13:57:21 +02:00 |
|
Leonardo de Moura
|
fb8bbee609
|
chore(library/init/lean/compiler/pushproj): cleanup
|
2019-05-02 15:45:56 -07:00 |
|
Leonardo de Moura
|
02da0177bb
|
feat(library/init/lean/compiler/ir): add updtHeader field
This field is not used in the paper, but we have used in the C++
implementation and got a significant performance boost.
|
2019-05-02 15:29:42 -07:00 |
|
Leonardo de Moura
|
805ee81e73
|
chore(library/init/lean/compiler): modifiedJPVals ==> modifyJPs
|
2019-05-02 15:22:33 -07:00 |
|
Leonardo de Moura
|
2c4811a808
|
chore(library/init/lean/compiler): remove unnecessary [@export]s
|
2019-05-02 15:04:28 -07:00 |
|
Leonardo de Moura
|
e3f32a6108
|
chore(library/init/lean/compiler): cleanup
|
2019-05-02 15:02:35 -07:00 |
|
Leonardo de Moura
|
e90224b435
|
fix(library/init/lean/compiler/simpcase): bugs at simpCase
|
2019-05-02 15:02:21 -07:00 |
|
Leonardo de Moura
|
76a49ec256
|
chore(library/compiler): add ir::test
|
2019-05-02 14:40:04 -07:00 |
|
Leonardo de Moura
|
3628b39cb6
|
feat(library/init/lean/compiler): add simpcase transformation
|
2019-05-02 12:40:37 -07:00 |
|
Leonardo de Moura
|
db30a23055
|
fix(library/init/lean/compiler): bug fixes
|
2019-05-02 12:22:00 -07:00 |
|
Leonardo de Moura
|
46c3a14f83
|
chore(library/init/lean/compiler/pushproj): move comment
|
2019-05-02 09:48:17 -07:00 |
|
Leonardo de Moura
|
719eb67114
|
chore(library/init/lean/compiler): VarIdxSet => IndexSet
|
2019-05-02 08:23:59 -07:00 |
|
Leonardo de Moura
|
3a612bfd8b
|
feat(library/init/lean/compiler): add elimDead transformation
|
2019-05-02 08:06:45 -07:00 |
|
Leonardo de Moura
|
5a83a2d7bb
|
feat(library/init/data/array/basic): add swapAt
|
2019-05-02 07:46:11 -07:00 |
|
Leonardo de Moura
|
94fe3c18d0
|
fix(library/init/data/rbtree/basic): add HasInsert instance
It is useful for defining finite trees
|
2019-05-01 21:19:07 -07:00 |
|
Leonardo de Moura
|
e52e787ad5
|
fix(library/init/lean/compiler/pushproj): bug and cleanup
|
2019-05-01 21:01:03 -07:00 |
|
Leonardo de Moura
|
2991b966e5
|
featg(library/init/lean/compiler): add pushproj
|
2019-05-01 17:38:44 -07:00 |
|
Leonardo de Moura
|
cfec797e69
|
feat(library/init/lean/compiler/ir): helper functions
|
2019-05-01 17:38:44 -07:00 |
|
Leonardo de Moura
|
ed5e461130
|
feat(library/init/lean/compiler/ir): add maxVar
|
2019-05-01 17:38:44 -07:00 |
|
Leonardo de Moura
|
2614b95a8b
|
refactor(library/init/lean/compiler/ir): use Nat instead of Name for local vars
|
2019-05-01 17:38:44 -07:00 |
|
Leonardo de Moura
|
0c9fa13763
|
feat(library/init/lean/compiler): convert LLNF into Lean IR
|
2019-04-30 17:55:43 -07:00 |
|
Leonardo de Moura
|
952eb0f515
|
feat(library/compiler): C++ API for Lean IR
|
2019-04-29 18:23:19 -07:00 |
|
Leonardo de Moura
|
2db7cd158b
|
feat(library/init/lean/compiler/ir): export primitives to C++
Remark: we don't need to expose all of them since the C++ code only
generates code in the Lambda_pure fragment.
|
2019-04-29 17:10:42 -07:00 |
|
Leonardo de Moura
|
c09df2d8c3
|
feat(library/init/lean/compiler/ir): use Array instead of List
The idea is to use the same approach we have used at `tests/playground/parser/syntax.lean`
|
2019-04-29 10:48:33 -07:00 |
|
Leonardo de Moura
|
807c9bff6d
|
refactor(library/init): HasToFormat ==> HasFormat, toFormat ==> format
|
2019-04-28 09:16:47 -07:00 |
|
Leonardo de Moura
|
13d2398fb3
|
feat(library/init/lean/compiler/ir): formatter
|
2019-04-27 17:55:27 -07:00 |
|
Leonardo de Moura
|
07a68375f5
|
chore(library/init/lean/compiler/ir): style
|
2019-04-26 09:15:37 -07:00 |
|
Leonardo de Moura
|
abaf181495
|
refactor(core): homogeneous andthen
The motivation is to make sure `andthen` and `orelse` are both
homogeneous.
|
2019-04-24 14:00:34 -07:00 |
|
Leonardo de Moura
|
4aa3036e14
|
chore(library/init/lean/parser/trie): add HasEmptyc instance
|
2019-04-12 07:30:06 -07:00 |
|
Leonardo de Moura
|
1bb920322d
|
feat(library/init/lean/compiler/constfolding): constant folding for strictAnd and strictOr
|
2019-04-05 16:51:29 -07:00 |
|
Leonardo de Moura
|
c2e474f216
|
chore(library/init/lean/compiler): cleanup notation
|
2019-04-04 15:26:09 -07:00 |
|
Leonardo de Moura
|
5f6106be83
|
chore(init): add reserve for all control notation at core.lean
cc @kha
|
2019-04-04 08:53:42 -07:00 |
|
Leonardo de Moura
|
a883042dc8
|
chore(library/init): fold functions argument order consistency
|
2019-04-03 07:42:14 -07:00 |
|
Leonardo de Moura
|
c43374d296
|
refactor(library/init/data/hashmap): use AssocList and HasBeq
|
2019-04-03 05:55:08 -07:00 |
|
Leonardo de Moura
|
dc6c1e329f
|
refactor(library/init/data/rbmap): use Bool instead of Prop
|
2019-04-03 02:54:34 -07:00 |
|
Leonardo de Moura
|
5e14a5f561
|
refactor(library/init/lean/parser/trie): use String.Pos instead of OldIterator
Renamed the old `matchPrefix` to `oldMatchPrefix`.
|
2019-03-29 18:17:27 -07:00 |
|
Leonardo de Moura
|
e58949e938
|
chore(library/init/control/id): rename id monad to Id
|
2019-03-29 16:45:52 -07:00 |
|
Leonardo de Moura
|
6af5f0490e
|
chore(library/init/data/list/basic): cleanup
|
2019-03-29 16:33:08 -07:00 |
|
Leonardo de Moura
|
e4f36d14ac
|
chore(library/init/control/combinators): remove weird List.mmap' alias for List.mfor
|
2019-03-29 11:09:47 -07:00 |
|