Commit graph

13995 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
fde4e15cb4 fix(runtime/lean_obj): OSX issue 2018-05-20 08:18:03 -07:00
Sebastian Ullrich
3a2fbe2d2f fix(util/init_module): segfault using clang 2018-05-20 11:01:37 +02:00
Leonardo de Moura
115ca87555 feat(library/init/lean/core): define core language 2018-05-18 15:35:42 -07:00
Leonardo de Moura
2ebf8ab8f1 chore(*): unnecessary #includes 2018-05-18 13:19:22 -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
dfc5adbd2a feat(runtime/lean_obj): add integer primitives 2018-05-17 17:47:22 -07:00
Leonardo de Moura
0aadb27327 perf(runtime/lean_obj): improve nat comparison 2018-05-17 17:41:03 -07:00
Leonardo de Moura
b4fb4385a2 fix(runtime/lean_obj): test 2018-05-17 17:14:24 -07:00
Leonardo de Moura
5d8501acf5 chore(runtime/lean_obj): consistent naming convention 2018-05-17 16:45:27 -07:00
Leonardo de Moura
a4583e23ea chore(gen/apply): fix bogus style warning 2018-05-17 16:09:20 -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
f854d56766 test(tests/ir/tst4): map 2018-05-17 14:52:18 -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
74b7ae0734 fix(runtime/apply): the trick to avoid alloca is not thread safe 2018-05-17 13:34:00 -07:00
Leonardo de Moura
ba1d050134 chore(gen/apply): line break 2018-05-17 13:11:47 -07:00
Leonardo de Moura
aadb5a8481 chore(runtime/lean_obj): missing primitives 2018-05-17 13:11:47 -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
Sebastian Ullrich
581583832f chore(tests/lean/parser1): fix test 2018-05-17 14:15:08 +02:00
Sebastian Ullrich
696ba77b53 feat(frontends/lean/elaborator): anonymous constructor notation for ginductives 2018-05-17 14:14:00 +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
3708a22484 feat(runtime/lean_obj): add lean_dbg_print_num 2018-05-15 11:57:53 -07:00
Sebastian Ullrich
839e65f27c test(tests/lean/run/handlers): add "Handlers in Action" example implementation 2018-05-15 18:50:12 +02:00
Leonardo de Moura
b1d8a17f1b fix(runtime): add init_module 2018-05-14 20:38:21 -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
168e7fa0cd chore(runtime/lean_obj): style 2018-05-14 17:27:25 -07:00
Leonardo de Moura
b0a4066695 test(tests/ir): add basic script for compiling IR definitions
The support libraries are currently hard coded.
2018-05-14 17:27:05 -07:00
Leonardo de Moura
8ee2f4fea1 feat(*): basic runtime string support 2018-05-14 16:52:55 -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