Sebastian Ullrich
|
38df819817
|
fix(library/init/lean/expander): all identifiers in terms should be ident_univs
|
2019-01-01 23:59:23 +01:00 |
|
Sebastian Ullrich
|
fce5c5bd36
|
perf(library/init/lean/position): add file_map cache for position conversion
|
2018-12-20 15:32:46 +01:00 |
|
Sebastian Ullrich
|
0911d16bc3
|
feat(library/init/lean): compute and show error positions
|
2018-12-20 14:28:18 +01:00 |
|
Sebastian Ullrich
|
90458de7d0
|
feat(library/init/lean/expander): normalize type signatures of constants
|
2018-12-19 15:04:48 +01:00 |
|
Sebastian Ullrich
|
0cf88598d2
|
feat(library/init/lean/parser/declaration): stricter grammar for universe parameters and non-optional declaration types
|
2018-12-19 14:41:17 +01:00 |
|
Sebastian Ullrich
|
4f7be93e87
|
feat(library/init/lean): remove support for section aliases
|
2018-12-18 17:04:04 +01:00 |
|
Sebastian Ullrich
|
0a63d39247
|
refactor(library/init/lean): syntax.mk_app'/mk_app ~> syntax.mk_app/mk_capp
|
2018-12-14 17:37:37 +01:00 |
|
Sebastian Ullrich
|
306da89551
|
feat(library/init/lean/expander): expand universe( variable)s to multiple universe( variable) commands
|
2018-12-07 10:31:14 +01:00 |
|
Sebastian Ullrich
|
e7a6746b6a
|
refactor(library/init/lean): share error function between expander and elaborator
|
2018-12-06 17:03:01 +01:00 |
|
Sebastian Ullrich
|
9c9e642210
|
feat(library/init/lean/elaborator): universe operators, subtype
|
2018-12-06 13:23:12 +01:00 |
|
Sebastian Ullrich
|
4b3995fac3
|
refactor(library/init/lean/parser/term): factor out opt_type parser
|
2018-12-06 13:23:12 +01:00 |
|
Sebastian Ullrich
|
143ac0e58a
|
feat(library/init/lean/expander): also normalize bracketed binders in e.g. declarations
|
2018-12-06 13:23:12 +01:00 |
|
Sebastian Ullrich
|
c3f8e219c0
|
feat(library/init/lean/expander): preresolve global references (not actually used anywhere yet)
|
2018-11-27 18:02:51 +01:00 |
|
Sebastian Ullrich
|
d9dc4edd31
|
refactor(library/init/lean/parser/combinators): improve sep_by view
|
2018-11-27 17:11:14 +01:00 |
|
Sebastian Ullrich
|
ba0feb5daa
|
chore(library/init/lean/expander): comments, minor refactoring
|
2018-11-27 16:35:20 +01:00 |
|
Sebastian Ullrich
|
89b67a0367
|
fix(library/init/lean/expander): mk_notation_transformer: reverse substitution list
|
2018-11-23 17:36:34 +01:00 |
|
Sebastian Ullrich
|
5043a6b9b3
|
feat(library/init/lean/{expander,elaborator}): show, let, choice
|
2018-11-22 17:25:46 +01:00 |
|
Sebastian Ullrich
|
7003fb6447
|
feat(library/init/lean/expander): command-level notations
|
2018-11-21 18:13:38 +01:00 |
|
Sebastian Ullrich
|
fd121f03bd
|
feat(library/init/lean/expander): make set of transformers configurable
|
2018-11-21 18:13:38 +01:00 |
|
Sebastian Ullrich
|
d1098534b2
|
feat(library/init/lean/expander): arrow, if
|
2018-11-21 18:13:38 +01:00 |
|
Sebastian Ullrich
|
cc93a2eb89
|
feat(library/init/lean/expander): extend "simple binders" to pi, expand pi
|
2018-11-21 18:13:38 +01:00 |
|
Sebastian Ullrich
|
a4b9cc83b8
|
feat(library/init/lean/{expander,elaborator}): progress
|
2018-11-21 18:13:38 +01:00 |
|
Sebastian Ullrich
|
222fff8862
|
refactor(library/init/lean/elaborator): introduce simple lambda binder
|
2018-11-21 18:13:38 +01:00 |
|
Sebastian Ullrich
|
8763e66f30
|
feat(library/init/lean/expander): allow macros not to unfold
|
2018-11-19 18:47:17 +01:00 |
|
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 |
|