Commit graph

3607 commits

Author SHA1 Message Date
Leonardo de Moura
d92679f969 refactor(*): replace name with lean.name 2018-05-20 09:42:44 -07:00
Leonardo de Moura
a52b418452 refactor(*): mk sure old name has same shape of new lean.name type 2018-05-20 08:48:48 -07:00
Leonardo de Moura
115ca87555 feat(library/init/lean/core): define core language 2018-05-18 15:35:42 -07:00
Leonardo de Moura
1bc7c0812c chore(kernel,library): remove task from the kernel and library 2018-05-18 09:06:03 -07:00
Sebastian Ullrich
bba55aad47 feat(library/init/lean/trace): implement conditional tracing via good old trace classes 2018-05-18 14:52:15 +02:00
Sebastian Ullrich
3796c73b85 feat(library/init/lean/options): add lean.options 2018-05-18 14:51:40 +02:00
Leonardo de Moura
acdcbdb71e feat(library/init/lean/ir): add instructions for (big) integer arithmetic 2018-05-17 18:17:23 -07:00
Leonardo de Moura
5d8501acf5 chore(runtime/lean_obj): consistent naming convention 2018-05-17 16:45:27 -07:00
Leonardo de Moura
217fa0e8c9 feat(library/init/lean/ir/lirc): add option to specify whether input is in SSA or not 2018-05-17 15:53:49 -07:00
Leonardo de Moura
af1a5fe874 feat(library/init/lean/ir): add x : ty := y instruction
It is useful when we are not producing IR in SSA.
2018-05-17 15:44:13 -07:00
Leonardo de Moura
b14f7e2fa4 chore(library/init/lean/ir/reserved): update list of reserved words 2018-05-17 15:44:01 -07:00
Leonardo de Moura
dede61b122 feat(library/init/lean/ir): add tag and tag_ref instructions 2018-05-17 14:51:41 -07:00
Leonardo de Moura
5d53eccb59 feat(runtime): string support 2018-05-17 13:11:47 -07:00
Sebastian Ullrich
d3e915b6b9 refactor(tests/lean/macro1): move meta type adapters into library 2018-05-17 18:58:33 +02:00
Sebastian Ullrich
4a7c2fcafc test(tests/lean/macro1): add examples from prototype 2018-05-17 17:45:02 +02:00
Sebastian Ullrich
789707efe6 refactor(library/init/lean/trace): avoid init.meta import 2018-05-17 14:25:12 +02:00
Sebastian Ullrich
308d58ad77 chore(library/init/lean/trace): remove 'meta' 2018-05-17 14:15:25 +02:00
Leonardo de Moura
53d459911f refactor(library/init/lean/ir): RC instructions 2018-05-16 10:28:51 -07:00
Leonardo de Moura
8cb7511a91 feat(runtime/lean_obj): natural number support 2018-05-16 10:28:51 -07:00
Sebastian Ullrich
2cf731c607 feat(library/init/lean/trace.lean): add tracing structure and monad prototypes 2018-05-16 18:47:37 +02:00
Leonardo de Moura
ade8cb7296 chore(library/init/lean/ir): make it clear that big number may be a tagged pointer 2018-05-15 15:58:58 -07:00
Leonardo de Moura
6e1a64a3ed fix(library/init/lean/ir): change semantics of big number operations
Remark: only `inc`, `dec` and `decs` should modify the reference counters.
2018-05-15 15:52:54 -07:00
Leonardo de Moura
65b9da7a29 doc(library/init/lean/ir/ir): document operators 2018-05-15 15:31:27 -07:00
Leonardo de Moura
cf36d8b08e refactor(library/init/lean/ir): rename ir.instr constructors 2018-05-15 14:48:12 -07:00
Leonardo de Moura
272f80c799 feat(library/init/lean/ir): add string_push and string_append instructions 2018-05-15 14:27:10 -07:00
Leonardo de Moura
74767df5ff feat(library/init/lean/ir/extract_cpp): add initialize_prefix and finalize_prefix 2018-05-15 14:09:38 -07:00
Leonardo de Moura
be74e3f974 refactor(library/init/lean/ir): add init/lean/ir/instances.lean 2018-05-15 12:14:36 -07:00
Leonardo de Moura
0f2a8f09c2 chore(library/init/lean/ir): cleanup 2018-05-15 12:09:04 -07:00
Leonardo de Moura
5cfb442f2c feat(library/init/lean/ir): add compilation unit initializer/finalizer 2018-05-15 11:57:53 -07:00
Leonardo de Moura
52b5ab1514 doc(library/init/lean/ir/ir): document unary operators 2018-05-14 20:29:28 -07:00
Leonardo de Moura
59f9de720d feat(library/init/lean/ir/lirc): we should support only C external names without mangling 2018-05-14 16:32:18 -07:00
Leonardo de Moura
f8bd816215 feat(library/system/io): add write_file 2018-05-14 16:05:29 -07:00
Leonardo de Moura
d166b69e2c feat(library/init/lean/ir/parser): add support for functions that do not return anything 2018-05-14 16:05:15 -07:00
Leonardo de Moura
aa1006d01b feat(library/init/lean/ir/extract_cpp): generate libleanruntime.a 2018-05-14 14:34:10 -07:00
Leonardo de Moura
31ce1a23e7 fix(library/init/lean/ir/extract_cpp): add support for bignum literals 2018-05-14 11:12:49 -07:00
Leonardo de Moura
37201b9192 feat(library/init/lean/ir/extract_cpp): add emit_closure 2018-05-14 09:53:45 -07:00
Leonardo de Moura
c6de7ae4d1 fix(library/init/lean/ir/type_check): typo 2018-05-14 09:53:29 -07:00
Leonardo de Moura
ba76d86a38 feat(library/init/lean/ir/extract_cpp): add emit_app, fix assignment 2018-05-14 09:28:17 -07:00
Leonardo de Moura
11270591ff fix(library/init/lean/ir/extract_cpp): missing case at collect_used 2018-05-13 14:49:57 -07:00
Leonardo de Moura
12854dc944 feat(library/init/lean/ir/extract_cpp): include uncurry 2018-05-13 14:47:54 -07:00
Leonardo de Moura
c00117a269 fix(library/init/lean/ir/ssa_check): bug 2018-05-13 14:43:13 -07:00
Leonardo de Moura
344de0e42e feat(library/init/lean/ir/extract_cpp): emit header of all functions used in a compilation unit 2018-05-13 14:40:52 -07:00
Leonardo de Moura
8b0a35fa5d feat(library/init/lean/ir/extract_cpp): add uncurry for functions with many arguments 2018-05-13 13:28:18 -07:00
Leonardo de Moura
f727781792 fix(library/init/lean/ir/parser): label 2018-05-13 11:35:08 -07:00
Leonardo de Moura
fbac1d45a3 refactor(library/init/control/combinators): move nat.mrepeat to combinators 2018-05-13 11:34:39 -07:00
Leonardo de Moura
b7f194d389 feat(library/init/lean/ir): allow arbitrary C++ identifiers to be assigned to declarations 2018-05-13 11:04:42 -07:00
Leonardo de Moura
cfacb515c1 feat(library/init/lean/ir): add IR simple frontend 2018-05-13 10:45:26 -07:00
Leonardo de Moura
1039951b09 fix(library/init/lean/ir/extract_cpp): typo 2018-05-13 10:33:56 -07:00
Leonardo de Moura
1b6d670ad5 chore(library/init/lean/ir/parser): missing decl 2018-05-13 10:33:34 -07:00
Leonardo de Moura
448f6a9ca4 fix(library/init/lean/ir/ssa_check): arguments are "defined" in first basic block 2018-05-13 10:33:00 -07:00