Sebastian Ullrich
|
906f59e16e
|
fix(library/init/lean/parser/token): token': do not ignore source_info
|
2018-09-14 16:33:04 -07:00 |
|
Sebastian Ullrich
|
ae7df32428
|
refactor(library/init/lean/parser/syntax): setting source_info.leading is much easier after parsing
|
2018-09-14 16:33:04 -07:00 |
|
Sebastian Ullrich
|
b95ba21702
|
chore(library/init/lean/parser): fix syntax_node_kind names
|
2018-09-14 16:33:04 -07:00 |
|
Sebastian Ullrich
|
0c3a1b07a5
|
chore(library/init/lean/parser/syntax): hide lean.parser prefix in syntax.to_format
|
2018-09-14 16:33:04 -07:00 |
|
Sebastian Ullrich
|
8aa621efb2
|
refactor(library/init/lean/{syntax,macro}): remove syntax.ident, simply syntax.atom, remove expander prototype
|
2018-09-14 16:33:04 -07:00 |
|
Sebastian Ullrich
|
5e180cd170
|
feat(library/init/lean/parser/token): create structure-preserving syntax trees for identifiers
Also generalize `raw_symbol` to `raw`
|
2018-09-14 16:33:04 -07:00 |
|
Sebastian Ullrich
|
6c11f99aae
|
fix(library/init/lean/parser): do not use raw_symbol on keywords
Otherwise `Type (maxx u v)` would be parsed as `Type (max x u v)`
|
2018-09-14 16:33:04 -07:00 |
|
Sebastian Ullrich
|
468ac814a7
|
perf(library/init/lean/parser/token): move number' out of longest_match call
|
2018-09-14 16:33:04 -07:00 |
|
Sebastian Ullrich
|
123adc1ae2
|
fix(library/init/lean/parser/parsec): longest_match: do not consume if no parser consumed
|
2018-09-14 16:33:04 -07:00 |
|
Sebastian Ullrich
|
384389c84b
|
refactor(library/init/lean/parser/basic): move out rec_t and trie
|
2018-09-14 16:33:04 -07:00 |
|
Sebastian Ullrich
|
6733d5ab21
|
feat(library/init/lean/parser/token): comments are not tokens anymore
|
2018-09-14 16:33:04 -07:00 |
|
Sebastian Ullrich
|
fea637288d
|
fix(library/init/data/nat/basic,library/vm/vm_nat): regression in old compiler: primitive for nat equality was ignored
Improves parser performance by 26%
|
2018-09-14 16:33:04 -07:00 |
|
Leonardo de Moura
|
4874e25715
|
feat(kernel): save constructor idx and nfields at constructor_val
|
2018-09-14 13:45:58 -07:00 |
|
Sebastian Ullrich
|
e6b5598d7b
|
chore(library/init/lean/parser/term): actually remove Type*
|
2018-09-13 16:38:40 -07:00 |
|
Sebastian Ullrich
|
ce5618d332
|
chore(library/init/lean/parser/term): remove Sort*, Type*
These can be macros
|
2018-09-13 16:38:40 -07:00 |
|
Sebastian Ullrich
|
98e09c274f
|
feat(library/init/lean/parser/{pratt,level}): factor out pratt combinator, implement level parsers
|
2018-09-13 16:38:40 -07:00 |
|
Sebastian Ullrich
|
a57573a5b7
|
fix(library/init/lean/parser/command): keywords in notation actions are not actual keywords
|
2018-09-13 16:38:40 -07:00 |
|
Leonardo de Moura
|
78317c5062
|
chore(library/init/control/combinators): remove dead notation
|
2018-09-12 17:34:25 -07:00 |
|
Leonardo de Moura
|
afd54039ab
|
chore(library): remove >>, we should use *>
|
2018-09-12 17:31:21 -07:00 |
|
Leonardo de Moura
|
9e305a5f26
|
chore(library): remove return, we should use pure
|
2018-09-12 16:51:11 -07:00 |
|
Leonardo de Moura
|
9f2d543209
|
chore(library/init/core): hide arguments for lc_proof, lc_cast and lc_unreachable
|
2018-09-12 11:00:05 -07:00 |
|
Leonardo de Moura
|
d5d926b0ef
|
feat(library/compiler/lcnf): eliminate no_confusion
|
2018-09-12 10:40:09 -07:00 |
|
Leonardo de Moura
|
9b21287a3e
|
feat(library/compiler/lcnf): add lean compiler normal form
|
2018-09-11 18:10:10 -07:00 |
|
Leonardo de Moura
|
efb33ac0a7
|
chore(library/init/env_ext): update
|
2018-09-11 13:55:25 -07:00 |
|
Sebastian Ullrich
|
af55cb13e7
|
fix(library/messages,library/init/lean/message): wrap message_log in structure, reverse in the end
|
2018-09-11 13:55:25 -07:00 |
|
Sebastian Ullrich
|
99ab0e9d67
|
refactor(library/messages): make an object_ref
|
2018-09-11 13:55:25 -07:00 |
|
Leonardo de Moura
|
0691d43153
|
feat(library/init/lean/parser/basic): define trie using rbnode (char × trie) nested inductice type
|
2018-09-09 18:19:28 -07:00 |
|
Leonardo de Moura
|
4e6748b55b
|
feat(library/init/data/rbmap/basic): add rbmap_core low level functions
|
2018-09-09 18:18:40 -07:00 |
|
Sebastian Ullrich
|
0d865b37dd
|
feat(library/init/lean/{message,parser}): enhance lean.message
Small regression: order of messages flipped, should eventually be sorted by
position
|
2018-09-08 18:37:58 -07:00 |
|
Leonardo de Moura
|
3e5f59d6df
|
chore(kernel): remove expr.quote constructor
In Lean4, we will reify expressions.
|
2018-09-07 22:08:08 -07:00 |
|
Leonardo de Moura
|
5ae63ea1f2
|
chore(library/init/data/list/basic): remove unnecessary workaround
|
2018-09-07 17:10:23 -07:00 |
|
Leonardo de Moura
|
71dd8653bc
|
feat(library/init/core): decidable_eq is a proper class
We need this to take advantage of the new indexing structure we are
going to add to improve performance.
|
2018-09-07 16:38:11 -07:00 |
|
Leonardo de Moura
|
c48eaed9a4
|
chore(library): remove relation_manager
|
2018-09-07 12:35:04 -07:00 |
|
Leonardo de Moura
|
da2de33245
|
fix(library/init/io): move coroutine_io implementation to io
|
2018-09-06 18:09:32 -07:00 |
|
Sebastian Ullrich
|
387cd25942
|
feat(library/init/lean/parser/term): implement Pratt parser
|
2018-09-06 17:17:50 -07:00 |
|
Sebastian Ullrich
|
c7d8271c84
|
feat(library/init/lean/parser/token): save lbp in token_config
|
2018-09-06 17:16:57 -07:00 |
|
Sebastian Ullrich
|
1a53d4444b
|
feat(library/init/lean/parser): parameterize recursive term parser with rbp
|
2018-09-06 17:16:22 -07:00 |
|
Sebastian Ullrich
|
149dd2a5e3
|
refactor(library/init/lean/parser): move command parsers into separate file
|
2018-09-06 10:46:29 -07:00 |
|
Leonardo de Moura
|
afb9584a63
|
feat(kernel): store at inductive_val whether the type is reflexive or not
|
2018-09-05 14:46:03 -07:00 |
|
Sebastian Ullrich
|
d4105e1e16
|
chore(library/init/lean/parser/basic): avoid nesting rbnode in trie
The new two-layer rbnode/list structure is a little faster
|
2018-09-05 10:37:03 -07:00 |
|
Sebastian Ullrich
|
9c96aec3dc
|
perf(library/init/lean/parser/parsec): inline pure, bind, and left_over
|
2018-09-05 09:58:49 -07:00 |
|
Sebastian Ullrich
|
66ebd5d7d6
|
feat(library/init/lean/parser): implement new tokenizer using trie
test execution went down from 3.5s to 1.5s
|
2018-09-04 14:06:43 -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 |
|
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
|
cec1ee2564
|
feat(library/init/lean/parser/parsec): reintroduce parsec_t
|
2018-08-29 16:42:24 -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
|
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 |
|