Sebastian Ullrich
|
c8eaee74b4
|
feat(frontends/lean,library/init/lean/parser/combinators): add node_longest_choice! macro
|
2018-11-19 18:02:28 +01:00 |
|
Sebastian Ullrich
|
4ec98a4595
|
feat(library/init/lean/expander): unfold lambdas into normal form
|
2018-11-19 17:27:01 +01:00 |
|
Sebastian Ullrich
|
9e8dfbad79
|
perf(library/init/lean/parser): reintroduce separate syntax.ident constructor with much simpler and more efficient encoding
|
2018-11-18 16:55:04 +01:00 |
|
Sebastian Ullrich
|
54b330ea66
|
feat(library/init/lean/expander): recursive, hygienic expansion
Not optimized yet. Some performance numbers:
352ms 11.0% 75ms 2.4% expand_core
339ms 10.6% 58ms 1.8% list.mmap._main._at._private.1829070809.expand_core
52ms 1.6% 38ms 1.2% lean.parser.syntax.flip_scopes
|
2018-11-12 13:15:14 +01:00 |
|
Sebastian Ullrich
|
090c4c0ce7
|
feat(library/init/lean/syntax): add lazily propagated macro scopes to syntax_node
|
2018-11-06 16:46:50 +01:00 |
|
Sebastian Ullrich
|
8c27f0aac6
|
refactor(frontends/lean/elaborator,library/init/lean): finish no_kind refactoring
|
2018-11-04 20:24:40 +01:00 |
|
Sebastian Ullrich
|
eff43fab08
|
chore(library/init/lean/expander): comment
|
2018-10-13 08:11:36 -07:00 |
|
Sebastian Ullrich
|
758d258210
|
fix(library/init/lean/parser/term): rename term.ident to ident_univs to remove confusion with ident
`protected` didn't do anything here
|
2018-10-13 08:11:36 -07:00 |
|
Sebastian Ullrich
|
959948b901
|
feat(library/init/lean): even more core.lean progress
|
2018-10-03 16:00:08 -07:00 |
|
Sebastian Ullrich
|
5274be8c3e
|
feat(library/init/lean/elaborator): local notation
Implemented by treating the parser cfg as a cache that can be recreated from the
elaborator state after e.g. a scope has ended
|
2018-10-03 16:00:08 -07:00 |
|
Sebastian Ullrich
|
097b7be14f
|
refactor(library/init/lean/parser/token): change raw view type to option syntax_atom and create raw_str to give some raw parsers view defaults
|
2018-10-02 14:55:28 -07:00 |
|
Sebastian Ullrich
|
71fd8a59b4
|
feat(library/init/lean/parser/notation): simple term language for precedences
|
2018-10-02 14:55:28 -07:00 |
|
Sebastian Ullrich
|
945bf39e05
|
feat(library/init/lean): progress
|
2018-09-28 20:50:18 -07:00 |
|
Sebastian Ullrich
|
b6ca2e945d
|
feat(library/init/lean): support unquoted symbols in mixfix 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
|
f8dd94c4bf
|
feat(library/init/lean/expander): full mixfix and reserve_mixfix expanders
|
2018-09-25 15:05:47 -07:00 |
|
Sebastian Ullrich
|
2d69d85193
|
fix(library/init/lean/expander): fix mixfix.transform
|
2018-09-25 11:56:40 -07:00 |
|
Sebastian Ullrich
|
c3c6a0e3a5
|
chore(library/init/lean/expander): minor simplifications
|
2018-09-25 09:18:56 -07:00 |
|
Sebastian Ullrich
|
4afcc0aab0
|
fix(library/init/lean/parser/term): do not allow mixing bracketed and unbracketed binders
|
2018-09-25 09:16:02 -07:00 |
|
Sebastian Ullrich
|
15927f21c9
|
refactor(library/init/lean/parser/token): unicode_symbol parser
|
2018-09-25 09:16:02 -07:00 |
|
Sebastian Ullrich
|
5a21d45836
|
refactor(library/init/lean/expander): introduce some coercions
|
2018-09-25 09:16:02 -07:00 |
|
Sebastian Ullrich
|
32f4d52e1c
|
refactor(library/init/lean): revert introduction of tysyntax; push syntax.missing through views
|
2018-09-24 18:24:27 -07:00 |
|
Sebastian Ullrich
|
db0fc4a448
|
feat(library/init/lean/expander): very basic expander
|
2018-09-24 09:53:28 -07:00 |
|
Sebastian Ullrich
|
ed0a8a8827
|
feat(library/init/lean/parser/combinators): make optional's view default to none
|
2018-09-24 09:53:28 -07:00 |
|
Sebastian Ullrich
|
76ea8169bc
|
feat(library/init/lean/expander): prefix ~> notation macro: construct RHS, move to new module
|
2018-09-24 09:53:28 -07:00 |
|