Sebastian Ullrich
|
a823157338
|
fix(library/init/lean/expander): fix let expansion again
Last bug in core.lean!
|
2019-01-22 11:16:00 +01:00 |
|
Sebastian Ullrich
|
099354eb5f
|
fix(library/init/lean/expander): expansion of parameterized let
|
2019-01-21 22:07:10 +01:00 |
|
Sebastian Ullrich
|
88534abccd
|
fix(library/init/lean/expander): tuple element order
|
2019-01-20 16:41:46 +01:00 |
|
Sebastian Ullrich
|
a23df570fc
|
fix(library/init/lean/elaborator): match
|
2019-01-17 19:57:00 +01:00 |
|
Sebastian Ullrich
|
8cc35b854b
|
feat(library/init/lean/{expander,elaborator}): variable(s)
|
2019-01-17 17:06:52 +01:00 |
|
Sebastian Ullrich
|
a6d5af7387
|
feat(library/init/lean/expander): expand class and class inductive
|
2019-01-16 19:12:40 +01:00 |
|
Sebastian Ullrich
|
ca058a6d8e
|
chore(library/init/lean/expander): simplify constant normalization
|
2019-01-16 19:12:40 +01:00 |
|
Sebastian Ullrich
|
dce62fc190
|
fix(library/init/lean/expander): structural substitution instead of abstraction-application when applying notations
|
2019-01-16 19:12:40 +01:00 |
|
Sebastian Ullrich
|
7aa06338c9
|
feat(frontends/lean/vm_elaborator): implement inductive
|
2019-01-14 14:49:40 +01:00 |
|
Sebastian Ullrich
|
fec4502e0f
|
feat(library/init/lean/parser/term): parse and expand sorry
|
2019-01-07 22:19:47 +01:00 |
|
Sebastian Ullrich
|
2b5f19677d
|
feat(frontends/lean/vm_elaborator): elaborate #check
|
2019-01-07 22:19:47 +01:00 |
|
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 |
|