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
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
b66f5dcf5c
chore(library/init): avoid wf_term_hack
2019-03-27 12:12:21 -07:00
Leonardo de Moura
681f3ec81b
fix(library/compiler/llnf): constructor reuse
...
We were not reusing constructor values for constructors that contained only
scalar values.
2019-03-26 11:10:51 -07:00
Leonardo de Moura
2a37e60ba9
feat(library/init/core): add != notation
2019-03-25 16:58:01 -07:00
Leonardo de Moura
87cab24a1d
fix(library/compiler/csimp): at_most_once at elim_jp1_fn
...
`elim_jp1_fn` was incorrectly expanding join points that were used more
than once. The issue is that the `foreach` combinator "may" skip nodes
that have already been visited.
2019-03-25 14:19:11 -07:00
Leonardo de Moura
7f58843d48
feat(library/init/lean/compiler/util): atMostOnce visitor
2019-03-25 14:19:10 -07:00
Leonardo de Moura
1c671965c5
feat(library/init/lean/options): add registerOption
2019-03-22 17:26:43 -07:00
Leonardo de Moura
dc73d5443d
refactor(library/init/lean): add MData abbreviation
2019-03-22 17:26:43 -07:00
Leonardo de Moura
e1ea2b3948
chore(library/init): fix names and add HasEmptyc instances
2019-03-22 12:38:22 -07:00
Leonardo de Moura
e24ad8c0b5
feat(library/init/core): add HasBeq default instances for types that implement DecidableEq
...
@kha I think code looks less weird if we don't mix Booleans and
propositions in the same expression.
2019-03-22 11:23:45 -07:00
Leonardo de Moura
11688fd813
fix(library/init/lean): [export...]
2019-03-21 15:06:44 -07:00
Leonardo de Moura
430bbef6d7
chore(*): minor
2019-03-21 15:06:44 -07:00
Leonardo de Moura
1fe3f14ad0
chore(*): Uint => UInt, Usize => USize
2019-03-21 15:06:44 -07:00
Leonardo de Moura
2be87ecd92
chore(library/init): Bool.tt => Bool.true and Bool.ff => Bool.false
2019-03-21 15:06:44 -07:00
Leonardo de Moura
62e6341014
chore(*): lowercase file names
2019-03-21 15:06:44 -07:00
Leonardo de Moura
04e20623e6
chore(*): use lowercase dir names
2019-03-21 15:06:44 -07:00
Leonardo de Moura
67fb78bb47
chore(*): renaming files
2019-03-21 15:06:44 -07:00
Sebastian Ullrich
beda5f5f43
chore(library): capitalize types and namespaces
2019-03-21 15:06:43 -07:00