Sebastian Ullrich
|
945bf39e05
|
feat(library/init/lean): progress
|
2018-09-28 20:50:18 -07:00 |
|
Sebastian Ullrich
|
df278096c4
|
fix(library/init/lean): fixes fixes fixes
|
2018-09-28 13:08:25 -07:00 |
|
Sebastian Ullrich
|
63201c2a78
|
feat(library/init/lean/elaborator): add elaborator, elaborate notation and reserve notation
|
2018-09-28 13:08:24 -07:00 |
|
Sebastian Ullrich
|
1f85d34153
|
chore(library/init/lean/parser/notation): remove old notation <numeric-literal> := ... syntax
|
2018-09-28 13:08:24 -07:00 |
|
Sebastian Ullrich
|
2e5ea16e2f
|
perf(library/init/lean/parser): cache consecutive calls to token at the same position
Parser performance improved by about 33%
|
2018-09-27 16:08:19 -07:00 |
|
Leonardo de Moura
|
8556365e9c
|
chore(tests/lean): remove old tests
|
2018-09-27 15:19:57 -07:00 |
|
Leonardo de Moura
|
b3451fb682
|
perf(library/init/lean/parser/parsec): merge ok and ok_eps
|
2018-09-27 15:14:37 -07:00 |
|
Sebastian Ullrich
|
e661aaeacf
|
refactor(library/init/lean/parser): store registered parsers in configs, use config hierarchy to avoid mutually recursive types
And other refactorings along the way
|
2018-09-27 10:05:10 -07:00 |
|
Sebastian Ullrich
|
2c07922327
|
refactor(library/init/lean/parser): minimize parser_state, have the module coroutine take and return parser_config
|
2018-09-26 13:20:07 -07:00 |
|
Sebastian Ullrich
|
07901fcfcb
|
refactor(library/init/lean/parser/module): put prelude and imports into non-optional header parser to make the life of the elaborator and other consumers a bit easier
|
2018-09-26 13:20:07 -07:00 |
|
Sebastian Ullrich
|
377e256cc0
|
test(tests/lean/parser1): simple macro test
|
2018-09-25 18:37:43 -07:00 |
|
Sebastian Ullrich
|
1d01e81de8
|
refactor(library/init/lean/parser): do not construct final syntax tree independent from intermediate outputs
This makes sure we have a single consistent view of the file
|
2018-09-25 18:28:53 -07:00 |
|
Sebastian Ullrich
|
f8dd94c4bf
|
feat(library/init/lean/expander): full mixfix and reserve_mixfix expanders
|
2018-09-25 15:05:47 -07:00 |
|
Leonardo de Moura
|
017261960c
|
feat(library/compiler/csimp): add float_cases_on
|
2018-09-24 18:10:26 -07:00 |
|
Sebastian Ullrich
|
7f00149338
|
chore(tests/lean/parser1): fix test after rebase
|
2018-09-24 09:57:42 -07:00 |
|
Sebastian Ullrich
|
db0fc4a448
|
feat(library/init/lean/expander): very basic expander
|
2018-09-24 09:53:28 -07:00 |
|
Leonardo de Moura
|
1534f17a89
|
feat(library/compiler/lcnf): add better support for complete-transition used in the equation compiler and x@ patterns
|
2018-09-20 21:38:57 -07:00 |
|
Leonardo de Moura
|
f556e0947b
|
fix(library/compiler/lcnf): bug, minor premise must have a lambda for each field in LCNF
|
2018-09-20 21:38:57 -07:00 |
|
Sebastian Ullrich
|
b859560a83
|
feat(library/init/lean/parser/term): @/@@ notation
|
2018-09-20 09:40:21 -07:00 |
|
Sebastian Ullrich
|
0a8d0a6870
|
feat(library/init/lean/parser/term): projection notation
|
2018-09-20 09:40:21 -07:00 |
|
Sebastian Ullrich
|
b8bd0cc5e6
|
feat(library/init/lean/parser/term): parentheses and tuples
|
2018-09-20 09:40:21 -07:00 |
|
Sebastian Ullrich
|
6f68a0d1eb
|
feat(library/init/lean/parser/basic): check for conflicting tokens
|
2018-09-20 09:40:21 -07:00 |
|
Sebastian Ullrich
|
b7f7f257c5
|
feat(library/init/lean/parser/declaration): inductive, structure
|
2018-09-20 09:38:10 -07:00 |
|
Sebastian Ullrich
|
623a6603cb
|
feat(library/init/lean/parser/term): lambda, pi, arrow
|
2018-09-19 12:36:34 -07:00 |
|
Sebastian Ullrich
|
e3afe02786
|
feat(library/init/lean/parser/declaration): doc comments and axioms
|
2018-09-19 12:36:34 -07:00 |
|
Sebastian Ullrich
|
80e37aa8c5
|
chore(library/init/lean/parser): improve error messages
|
2018-09-19 12:36:34 -07:00 |
|
Sebastian Ullrich
|
1f239c9f2a
|
feat(library/init/lean/parser/syntax): pretty-print ident nodes
Painfully, because `ident.view` is not defined yet
|
2018-09-17 18:47:50 -07:00 |
|
Sebastian Ullrich
|
fa0148e5b8
|
feat(library/init/lean/parser): declarations and binders
|
2018-09-17 18:47:50 -07:00 |
|
Sebastian Ullrich
|
ea4d7af66d
|
refactor(library/init/lean/parser/command): move out notations
|
2018-09-17 18:47:50 -07:00 |
|
Leonardo de Moura
|
52d1abf0bc
|
feat(library/compiler): add cse to new compiler stack
|
2018-09-14 17:48:18 -07:00 |
|
Leonardo de Moura
|
e8ab46619b
|
chore(tests/lean/run/new_compiler): fix test
|
2018-09-14 16:42:53 -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
|
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 |
|
Leonardo de Moura
|
7174d53820
|
feat(library/compiler/csimp): distribute application over cases
|
2018-09-14 15:14:40 -07:00 |
|
Leonardo de Moura
|
31a9a22641
|
test(tests/lean/run/new_compiler): add test
|
2018-09-14 13:35:41 -07:00 |
|
Leonardo de Moura
|
5ed05db261
|
test(tests/lean/run/new_compiler): add test for new compiler stack
|
2018-09-14 09:46:02 -07:00 |
|
Sebastian Ullrich
|
e6b5598d7b
|
chore(library/init/lean/parser/term): actually remove Type*
|
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 |
|
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 |
|
Sebastian Ullrich
|
43e57358af
|
refactor(library/module_mgr): minor refactorings
|
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
|
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
|
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
|
ab9e812ac5
|
chore(tests/lean): fix tests
|
2018-09-06 18:09:32 -07:00 |
|
Sebastian Ullrich
|
1a53d4444b
|
feat(library/init/lean/parser): parameterize recursive term parser with rbp
|
2018-09-06 17:16:22 -07:00 |
|
Leonardo de Moura
|
208b932583
|
feat(library/constructions/brec_on): add brec_on and binduction_on for new inductive datatype module
We don't support these constructions for nested inductive types, but we
do for mutual inductives.
|
2018-09-05 14:46:03 -07:00 |
|
Leonardo de Moura
|
f335623530
|
feat(library/constructions/brec_on): add below and ibelow for new inductive datatype module
|
2018-09-05 14:46:03 -07:00 |
|