Commit graph

21 commits

Author SHA1 Message Date
Leonardo de Moura
c00788a982 fix(library/init/lean/compiler/ir/emitcpp): header of big boxed functions 2019-07-08 21:52:01 -07:00
Leonardo de Moura
1a81d60820 chore(frontends/lean/parser): simplify binder notation
The `<ident> : <expr>` now requires explicit brackets.
2019-07-08 08:54:19 -07:00
Leonardo de Moura
ea6eee516b chore(frontends/lean): use => instead of := in match-expressions
Motivation: use same separator used in lambda expressions as in
other programming languages.
2019-07-04 11:38:38 -07:00
Leonardo de Moura
a02443d23d chore(frontends/lean): fun x, e ==> fun x => e 2019-07-02 13:22:11 -07:00
Leonardo de Moura
6841e47aa4 chore(frontends/lean/builtin_exprs): remove support for (<infix>) and (<infix> <expr>) notations
In Lean 4, we will support the more general

`a + ·` ==> `fun x, a + x`
`· + b` ==> `fun x, x + b`
`· + ·` ==> `fun x y, x + y`
`f · y` ==> `fun x, f a y`
`g · · b` ==> `fun x y, g x y b`
2019-07-02 08:06:06 -07:00
Leonardo de Moura
91e1d30cf8 feat(frontends/lean/builtin_exprs): use ; in do-notation 2019-06-27 18:00:43 -07:00
Leonardo de Moura
ab487ea4ac feat(frontends/lean): allow ; instead of in in let-decls 2019-06-27 17:12:03 -07:00
Leonardo de Moura
70a1589817 refactor(library/init/lean): move extern.lean to compiler subdirectory 2019-06-25 08:59:55 -07:00
Leonardo de Moura
d9856889d6 chore(*): cleanup 2019-05-30 07:30:07 -07:00
Leonardo de Moura
0f43c2e2d9 feat(library/init/data/array/basic): efficient heterogeneous Array.map
This commit also removes Array.hmap.
Motivation: I wanted to use Array.hmap as an example in the paper, but
I found it would be too distracting to explain why we had `Array.hmap`
and `Array.map`.

cc @kha
2019-05-25 16:32:59 -07:00
Leonardo de Moura
2408d6dd80 fix(library/init/lean/compiler/ir/boxing): created boxed version for externs 2019-05-22 10:56:51 -07:00
Leonardo de Moura
f1fbe5cd61 feat(library/compiler/ir): add boxed version for extern constants 2019-05-21 17:55:58 -07:00
Leonardo de Moura
d90cfe5a1c feat(library/init/lean/compiler/ir/boxing): generate boxed version 2019-05-21 17:35:43 -07:00
Leonardo de Moura
5a72368967 feat(library/init/lean/compiler/ir): improve checker 2019-05-21 13:18:56 -07:00
Leonardo de Moura
40ecbb7cbc feat(library/init/control/monad): mark monadInhabited as an instance 2019-05-20 09:33:17 -07:00
Leonardo de Moura
781dd60b19 fix(library/init/lean/compiler/ir/boxing): filename case
It seems OSX is case insensitive since I can compile it on my Mac.
2019-05-20 08:10:33 -07:00
Leonardo de Moura
300c251b49 feat(library/init/lean/compiler/ir): add explicitBoxing to new IR compiler stack 2019-05-19 08:10:45 -07:00
Leonardo de Moura
d2f6befc15 chore(library/init/lean/compiler/ir): Context ==> LocalContext 2019-05-17 17:29:26 -07:00
Leonardo de Moura
0de9a92d4c feat(library/init/lean/compiler/ir/boxing): missing case 2019-05-08 06:04:18 -07:00
Leonardo de Moura
a24a8361f5 feat(library/init/lean/compiler/ir/boxing): add some missing cases 2019-05-07 18:23:08 -07:00
Leonardo de Moura
6d4f7527a2 feat(library/init/lean/compiler/ir/boxing): explicit boxing and unboxing instructions
TODO: FnBody.vdecl case
2019-05-07 16:21:29 -07:00