Leonardo de Moura
9a4b3f85f3
feat(library/init/lean/level): missing functions
2018-05-22 10:49:24 -07:00
Leonardo de Moura
4d7ae73d39
feat(library/init/lean): add level
2018-05-22 09:45:18 -07:00
Leonardo de Moura
84c0580e05
fix(library/init/meta/tactic): monad_from_pure_bind is used to implement io
2018-05-21 15:45:56 -07:00
Leonardo de Moura
160b7e8847
refactor(library/init/meta/expr): local_const will have only one field
...
In Lean3, we supported two kinds of local constant:
context-less (inherited from Lean2) and context-based (type,
binder-info and pretty printing name are stored in the context).
The context-less was used in the kernel and a few modules we kept when
we moved from Lean2 to Lean3. Even if we keep the hybrind
representation, we should not expose the context-less to users.
2018-05-21 15:36:09 -07:00
Leonardo de Moura
d04f0b2022
chore(library/init/meta): remove old code
2018-05-21 15:30:12 -07:00
Leonardo de Moura
afd018d7cc
chore(*): remove several tactics
2018-05-21 06:53:01 -07:00
Leonardo de Moura
032a101262
chore(*): remove more files
...
@kha I'm trying to remove as much as possible before I start
modifying `expr`
2018-05-21 06:42:58 -07:00
Leonardo de Moura
0955962f65
chore(*): remove some unnecessary files and tactics
2018-05-21 06:29:50 -07:00
Leonardo de Moura
e99036251c
feat(library/init/meta/expr): remove more occurrences of local_const
2018-05-20 17:39:05 -07:00
Leonardo de Moura
92ff42776c
chore(library/tactic): remove match_tactic
2018-05-20 17:33:31 -07:00
Leonardo de Moura
8ffe6497c8
feat(library/init/meta): reduce occurrences of expr.local_const
2018-05-20 17:26:47 -07:00
Leonardo de Moura
b78e9df869
chore(runtime/object): tag => obj_tag
...
`tag` at `object.h` conflicts with `tag` at `expr.h`
2018-05-20 12:00:59 -07:00
Leonardo de Moura
2944f7a027
chore(runtime): lean_obj.* ==> object.*
2018-05-20 10:17:15 -07:00
Leonardo de Moura
2d604e7d25
chore(runtime/lean_obj): remove lean_ prefix
2018-05-20 10:13:44 -07:00
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