Leonardo de Moura
78d87cf4cd
fix(library/init/lean/compiler/ir/emitcpp): add missing lean::
...
@kha It is unclear why the C++ compilers were accepting our generated
files without `lean::`. I found the issue by accident while working on
the new C backend.
2019-08-21 09:51:01 -07:00
Leonardo de Moura
25481d5cef
chore(runtime/object): preparing for implementing object.h using lean.h
2019-08-20 13:00:18 -07:00
Leonardo de Moura
ec0e74f5f8
chore(library/init/lean): export as C functions
2019-08-16 20:52:10 -07:00
Leonardo de Moura
8a3522c8e5
chore(library/init/lean/compiler/ir/emitcpp): small hack for exporting functions as C functions instead of C++
2019-08-16 19:26:03 -07:00
Leonardo de Moura
d00019f57e
chore(library/init): fix whitspaces before =>
2019-08-09 09:13:49 -07:00
Leonardo de Moura
4d913370a7
chore(library/init): eliminate whitespaces using another patch script
2019-08-09 09:01:39 -07:00
Sebastian Ullrich
3ed67138d5
chore(*): update equation syntax in files and old parser
...
for f in ../../**/*.lean; do echo $f; ./patch.lean.out $f > tmp && cat tmp > $f; done
2019-08-09 11:11:34 +02:00
Leonardo de Moura
27e0ad0d9e
chore(library/init/lean/compiler/ir/emitcpp): remove constant registration
2019-07-19 10:52:18 -07:00
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
92466272ed
fix(library/init/lean/compiler/ir/emitcpp): incorrectly emitting unicode characters in the range [128, 255]
...
For example, "·" was being stored as `\xb7` which is not the valid UTF8.
2019-07-02 15:56:32 -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
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
7ca4607ef3
chore(library/init/lean): move name_mangling.lean to compiler directory
2019-06-26 07:05:23 -07:00
Leonardo de Moura
45dc2cd49a
feat(library/init/lean/compiler): [export] attribute in Lean
2019-06-24 15:48:12 -07:00
Leonardo de Moura
bc9e460f62
fix(library/init/lean/compiler/ir): collectUsedDecls must take initialization functions into account
...
Move builtin parser level to its own directory
2019-06-21 13:34:42 -07:00
Leonardo de Moura
f176a7963c
feat(library/init/lean/compiler/ir/emitcpp): register arity 0 declarations
2019-06-07 17:15:16 -07:00
Leonardo de Moura
c3a7cc4617
feat(library/init/lean/compiler/ir/emitcpp): register functions
2019-06-07 15:34:55 -07:00
Leonardo de Moura
d9cceec9eb
feat(library/init/lean/compiler/ir/emitcpp): avoid unnecessary var decls
2019-05-30 09:36:28 -07:00
Leonardo de Moura
7ef495a526
fix(library/init/lean/compiler/ir): use setTag at expandresetreuse
...
This commit also adds the instruction `setTag`, and removes `release`.
2019-05-23 17:41:14 -07:00
Leonardo de Moura
7cb5c04f4f
feat(library/init/lean/compiler/ir/expandresetreuse): first draft
2019-05-23 14:07:08 -07:00
Leonardo de Moura
8ba7dd4cff
feat(library/init/lean/compiler/ir): add del instruction for releasing memory
2019-05-23 08:01:15 -07:00
Leonardo de Moura
a8f8df1475
chore(library/init/lean/compiler): add export.lean
2019-05-22 11:27:25 -07:00
Leonardo de Moura
ef89945ea0
fix(library/init/lean/compiler/ir/emitcpp): tail call
...
Implement fix used at 4d2837430a in the new IR compiler.
2019-05-22 07:58:33 -07:00
Leonardo de Moura
64525116f5
fix(library/init/lean/compiler/ir): avoid compilation warning
2019-05-21 20:19:45 -07:00
Leonardo de Moura
c391bff33c
fix(library/init/lean/compiler/ir/emitcpp): misssing condition
2019-05-21 20:09:27 -07:00
Leonardo de Moura
40b890f220
fix(library/init/lean/compiler/ir/emitcpp): typo
2019-05-21 16:21:21 -07:00
Leonardo de Moura
5b3aec088e
feat(library/init/lean/compiler/ir/emitcpp): emit module initialization code
2019-05-21 16:06:10 -07:00
Leonardo de Moura
baa99aa4a5
fix(library/init/lean/compiler/ir/emitcpp): small bugs
2019-05-21 15:34:05 -07:00
Leonardo de Moura
ba9a10265e
feat(library/init/lean/compiler/ir/emitcpp): implement emitVDecl remaining cases
2019-05-21 14:55:11 -07:00
Leonardo de Moura
88cf3aa5e8
feat(library/init/lean/compiler/ir/emitcpp): emit different kinds of application
2019-05-21 14:30:45 -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
5aa8647b18
feat(library/init/lean/compiler/ir/emitcpp): more cases
2019-05-21 10:54:58 -07:00
Leonardo de Moura
f3e13c18f8
fix(library/init/lean/compiler/ir): reset
2019-05-21 10:28:50 -07:00
Leonardo de Moura
cc4c26e8ab
feat(library/init/lean/compiler/ir/emitcpp): add some missing cases
2019-05-21 10:21:52 -07:00
Leonardo de Moura
510de7a3a9
feat(library/init/lean/compiler/ir/emitcpp): emitBlock
2019-05-21 09:20:19 -07:00
Leonardo de Moura
636415f645
chore(library/init/lean/compiler/ir/emitcpp): minor
2019-05-21 08:46:20 -07:00
Leonardo de Moura
49ef6e474a
feat(library/init/lean/compiler/ir/emitcpp): better error messages
2019-05-21 08:17:55 -07:00
Leonardo de Moura
4ed803c564
feat(library/init/lean/compiler/ir/emitcpp): emit skeletons
2019-05-20 19:08:21 -07:00
Leonardo de Moura
f852cd774f
feat(library/init/lean/compiler/ir): expose C++ primitives for accessing export and extern attributes
2019-05-20 15:49:03 -07:00
Leonardo de Moura
8c4a9116f6
feat(library/init/lean/compiler/ir/emitcpp): generate header and function decls
2019-05-20 14:47:54 -07:00
Leonardo de Moura
3ffe0e22c8
feat(shel/lean): add temporary option for testing new IR compiler code emitter
2019-05-20 10:19:09 -07:00
Leonardo de Moura
b0e7b05f63
feat(library/init/lean/compiler/ir/emitcpp): add entry point
2019-05-20 09:50:57 -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
ff74b9f44a
feat(library/init/lean/compiler/ir): add emitutil.lean and emitcpp.lean files
2019-05-20 09:25:16 -07:00