Leonardo de Moura
3615073faf
fix(frontends/lean/elaborator): visit_expr_quote bug
2018-05-29 16:21:52 -07:00
Leonardo de Moura
0b1525b58e
fix(library/type_context): is_quick_class bug
...
It was returning false for expressions such as `let x := 10 in has_add nat`.
2018-05-29 15:12:44 -07:00
Leonardo de Moura
978ef203b9
fix(frontends/lean/elaborator): the is_def_eq test must be performed in the right local context
2018-05-29 13:35:01 -07:00
Leonardo de Moura
14d62ab12d
chore(runtime/serializer): compilation warning
2018-05-29 08:04:42 -07:00
Leonardo de Moura
1332fbabd6
feat(library,frontends): remove sorry macro
...
Lean4 will not have macros.
2018-05-24 14:00:30 -07:00
Leonardo de Moura
75c63ec921
refactor(*): list<name> ==> obj_list<name>
2018-05-23 15:48:43 -07:00
Leonardo de Moura
a1b9ae0e67
feat(util/obj_list): add map_reuse and cleanup code
2018-05-23 15:05:08 -07:00
Leonardo de Moura
4af1f31877
feat(util, kernel): add obj_list wrapper for Lean list objects, and use it to implement list of universe levels
2018-05-23 14:48:22 -07:00
Leonardo de Moura
ef8bbccf9f
chore(util/object_ref): disable automatic coercion from object_ref to object *
2018-05-23 13:12:40 -07:00
Leonardo de Moura
e7ac7cb542
chore(cmake/Modules/cpplint.py): disable bogus cpplint check
2018-05-23 10:10:37 -07:00
Leonardo de Moura
306c300226
refactor(kernel/level): implement level on top of object
2018-05-23 09:54:46 -07:00
Leonardo de Moura
b66a088b52
fix(runtime/serializer): memory leak
2018-05-23 09:52:20 -07:00
Leonardo de Moura
3d46684d2a
chore(util/name): minor change
2018-05-23 09:41:44 -07:00
Leonardo de Moura
e2a7d78dd6
chore(util/name): remove dead code
2018-05-22 17:57:33 -07:00
Leonardo de Moura
480d999e63
fix(runtime/object): bugs at string_append and string_push
2018-05-22 17:51:51 -07:00
Leonardo de Moura
7afa418e13
chore(runtime/serializer): style
2018-05-22 17:43:23 -07:00
Leonardo de Moura
339764bf6a
refactor(runtime): add string_object
...
The idea is to avoid the hack for storing the string unicode length.
It also reduces the amount of space used to serialize strings.
2018-05-22 17:28:04 -07:00
Leonardo de Moura
fb00f9a780
fix(runtime/object): missing free
2018-05-22 16:50:07 -07:00
Leonardo de Moura
b2f3d3f456
chore(*): remove redundant code
2018-05-22 16:46:04 -07:00
Leonardo de Moura
5b17a30203
feat(runtime): add object serializer
...
Any type implemented on top of `object` gets the serializer/deserializer for free
2018-05-22 16:34:41 -07:00
Leonardo de Moura
67b59a0a3c
fix(util): memory leaks
2018-05-22 11:05:51 -07:00
Leonardo de Moura
914e702356
chore(kernel/level): remove unnecessary friend annotation
2018-05-22 09:46:17 -07:00
Leonardo de Moura
eb54a4f551
chore(kernel/cache_stack): compilation warning
2018-05-22 09:46:00 -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
92ff42776c
chore(library/tactic): remove match_tactic
2018-05-20 17:33:31 -07:00
Leonardo de Moura
abf9d8fe37
fix(runtime/object): assertion violation
2018-05-20 13:51:31 -07:00
Leonardo de Moura
df26e10609
fix(util): assertion violations
2018-05-20 13:42:22 -07:00
Leonardo de Moura
ce29de1b49
chore(util): style
2018-05-20 13:26:59 -07:00
Leonardo de Moura
256a1f720c
refactor(util/name): implement name using object
2018-05-20 13:22:34 -07:00
Leonardo de Moura
4de9b8c177
chore(library/vm): rename constants
2018-05-20 12:30:15 -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
dd6e56f3bf
feat(util/object_ref): add smart pointer for object
2018-05-20 11:46:53 -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
e081f9ad78
chore(runtime/lean_obj): cleanup
2018-05-20 10:02:19 -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
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
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
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
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
aadb5a8481
chore(runtime/lean_obj): missing primitives
2018-05-17 13:11:47 -07:00