Leonardo de Moura
7928dbb239
chore(kernel): get_constructor ==> get_cnstr
2018-09-03 12:30:49 -07:00
Leonardo de Moura
5e6d3511f4
chore(frontends/lean/print_cmd): display rule info
2018-09-03 12:27:25 -07:00
Leonardo de Moura
47bc71f4fa
feat(kernel/inductive): postprocess recursors and their rules
2018-09-02 21:06:51 -07:00
Leonardo de Moura
498cfa84fd
fix(util/object_ref): typo
2018-09-02 21:06:51 -07:00
Sebastian Ullrich
76741ae695
feat(frontends/lean/elaborator): fall back to approximate position in errors
2018-09-02 18:34:57 -07:00
Sebastian Ullrich
ae70158c09
fix(frontends/lean/elaborator): position information for callees
2018-09-02 18:08:41 -07:00
Sebastian Ullrich
39cdae50ee
feat(library,frontends/lean): use mdata instead of hacky cache for position information in preterms
2018-09-02 18:08:41 -07:00
Sebastian Ullrich
0220af69b8
feat(library/print): print mdata
...
Not sure if helpful or annoying for the future...
2018-09-02 18:08:41 -07:00
Sebastian Ullrich
3090826326
chore(bin/lean-gdb): update lean::expr printer
2018-09-02 18:08:41 -07:00
Leonardo de Moura
f9d87e7a98
feat(kernel/inductive): add inductive postprocessor
...
We still need to restore recursors and their rules
2018-09-02 17:44:19 -07:00
Leonardo de Moura
41a87f6856
feat(kernel/inductive): normalize parameter names
2018-09-02 16:40:31 -07:00
Leonardo de Moura
7d4097818b
feat(kernel/inductive): add recursor rules
2018-09-02 15:55:29 -07:00
Leonardo de Moura
f30cb0635f
chore(kernel/inductive): cleanup
2018-09-02 09:26:58 -07:00
Leonardo de Moura
98f035088c
chore(kernel/inductive): cleanup
2018-08-31 18:01:26 -07:00
Leonardo de Moura
517923d362
feat(kernel/inductive): generate recursors in the new inductive datatype module
2018-08-31 17:47:22 -07:00
Leonardo de Moura
2fb677f1d0
feat(kernel/inductive): add positivity check to new inductive datatype module
2018-08-31 09:52:38 -07:00
Leonardo de Moura
706d7045c3
feat(kernel/inductive): add nested => mutual preprocessor
2018-08-30 18:05:43 -07:00
Leonardo de Moura
f1105e108a
fix(kernel/inductive): bug at check_inductive_types
2018-08-30 18:05:43 -07:00
Sebastian Ullrich
93d13ffea3
chore(library/init/lean): lean.parser.reader ~> lean.parser
2018-08-30 16:34:47 -07:00
Sebastian Ullrich
d60e3a66ce
refactor(library/init/lean/parser/reader): make monad stack not reducible
2018-08-30 15:59:38 -07:00
Sebastian Ullrich
de9d894c14
feat(library/init/lean/parser/reader): use coroutine on the module level
2018-08-29 16:42:24 -07:00
Sebastian Ullrich
2528aee72b
refactor(library/init/lean/parser/reader): use different monad stacks for different parts of the reader
2018-08-29 16:42:24 -07:00
Sebastian Ullrich
3bdc0db397
feat(library/derive_attribute): allow implicit parameters in class signature
2018-08-29 16:42:24 -07:00
Sebastian Ullrich
f4a9798f9b
fix(library/derive_attribute): avoid segfault on sorry input
2018-08-29 16:42:24 -07:00
Sebastian Ullrich
cec1ee2564
feat(library/init/lean/parser/parsec): reintroduce parsec_t
2018-08-29 16:42:24 -07:00
Sebastian Ullrich
bb01787ccf
chore(bin/lean-gdb): disable broken pretty printers
2018-08-29 16:42:24 -07:00
Leonardo de Moura
b79794e601
feat(frontends/lean/print_cmd): add basic support for testing new inductive datatype module
2018-08-29 09:36:47 -07:00
Leonardo de Moura
863355c6a0
feat(kernel/inductive): continue new inductive datatype module
...
Add more validation, and create new inductive_val and constant_val objects.
2018-08-29 09:27:06 -07:00
Leonardo de Moura
f765eec626
fix(kernel/type_checker): typo in error message
2018-08-29 09:21:35 -07:00
Leonardo de Moura
d1d56776ad
feat(kernel): invoke add_inductive for inductive datatype declarations
2018-08-28 15:54:46 -07:00
Leonardo de Moura
5d41046170
refactor(library/init/core): remove exists_unique
...
We never used it in the corelib. Users can define it if they need it.
2018-08-28 14:01:33 -07:00
Leonardo de Moura
101886ffae
feat(kernel): proper constant_info and declaration objects for quot type
2018-08-28 13:46:31 -07:00
Sebastian Ullrich
a178f181a8
chore(library/init/lean/parser/macro): remove old name resolution prototype
2018-08-28 13:13:14 -07:00
Sebastian Ullrich
46f734b1b1
refactor(library/init/lean/parser/reader): replace macro with syntax_node_kind
...
Also make sure that the name inside a node kind is the full name of the
declaration. This way, we cannot have accidentally conflicting node kind names.
2018-08-28 13:13:14 -07:00
Sebastian Ullrich
47bff1ddcd
fix(library/init/core): ∃! should not accept multiple binders
2018-08-28 13:13:14 -07:00
Leonardo de Moura
3770df2a48
fix(runtime/apply): must use free_heap_obj instead of free
2018-08-28 12:29:14 -07:00
Leonardo de Moura
5c3678482f
chore(runtime/object): cleanup
2018-08-28 12:29:04 -07:00
Leonardo de Moura
3e528a9b67
chore(runtime): fix assertions
2018-08-28 10:33:22 -07:00
Leonardo de Moura
4d6da3dd69
fix(runtime/compact): bug at read
2018-08-28 10:30:51 -07:00
Leonardo de Moura
161431e995
feat(kernel): implement new mutual_definition declaration object
...
This commit also removes the old `environment::add_meta` hackish method.
2018-08-28 10:30:44 -07:00
Leonardo de Moura
5c47ff82f6
chore(library/init/lean/core): remove dead code
2018-08-28 08:56:03 -07:00
Leonardo de Moura
cdb2824d86
fix(library/module): debug build
2018-08-28 08:09:57 -07:00
Leonardo de Moura
b63b05e5fd
fix(runtime/thread): MULTI_THREAD=OFF build
2018-08-28 08:08:55 -07:00
Leonardo de Moura
030669ea4d
feat(runtime): do not waste space with RC for region and stack allocated objects
...
The modification introduces an overhead of 1.5% on the
execution time. Here is the the time for compiling the corelib
Before: 8.61 secs (avg of 3 runs)
After: 8.74 secs (avg of 3 runs)
On the other hand, the size of the compacted region for the command
`#compact_tst 10` is smaller.
Before: 176687728
After: 153794704
The size before this change was 14.8% bigger.
For reference, using the old serializer we generate a buffer of size 105291117.
cc @kha
2018-08-28 07:41:55 -07:00
Leonardo de Moura
5313cd3467
fix(library/init/meta/pos): missing file
2018-08-28 07:41:41 -07:00
Leonardo de Moura
805e45bba5
chore(tests/shell): fix test
2018-08-27 17:54:43 -07:00
Leonardo de Moura
776c977742
refactor(kernel): continue constant_info/declaration refactoring
2018-08-27 17:23:26 -07:00
Leonardo de Moura
96ff6b1718
feat(util/object_ref): add helper functions
2018-08-27 16:28:37 -07:00
Leonardo de Moura
3f5db74ab4
refactor(library/init/lean/declaration): rename declaration_val ==> constant_val
...
It doesn't make sense to call it `declaration_val` anymore.
2018-08-27 16:07:38 -07:00
Leonardo de Moura
ae18cee0ea
chore(library/module): remove pos_info tracking
...
We will use a completely different approach in Lean4
2018-08-27 15:55:57 -07:00