Commit graph

26011 commits

Author SHA1 Message Date
Sebastian Ullrich
ac7b70c555 fix(frontends/lean/token_table): add missing built-in token
`::` is used not only by `list` but also the built-in `structure` command
2018-09-25 12:20:08 -07:00
Sebastian Ullrich
95c469f8c4 fix(library/module_mgr,shell/lean): catch all errors from parsing 2018-09-25 12:14:03 -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
Leonardo de Moura
b4b42ef8b2 feat(library/init/lean/parser/parsec): missing [inline] 2018-09-24 18:57:49 -07:00
Leonardo de Moura
1f42b5bce9 feat(library/compiler/preprocess): missing trace option 2018-09-24 18:47:10 -07:00
Leonardo de Moura
c827892715 fix(library/compiler/cse): adjust to new LCNF 2018-09-24 18:47:10 -07:00
Leonardo de Moura
6a7fbb24f5 feat(library/init/data/dlist): inlining dlist functions is counterproductive 2018-09-24 18:47:10 -07:00
Sebastian Ullrich
f29a866cb4 perf(frontends/lean/elaborator): do not inline views for now 2018-09-24 18:24:27 -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
aac3627ce1 fix(frontends/lean/elaborator): restore better field notation error message 2018-09-24 18:24:27 -07:00
Leonardo de Moura
017261960c feat(library/compiler/csimp): add float_cases_on 2018-09-24 18:10:26 -07:00
Leonardo de Moura
ee43d4a20a feat(library/compiler/util): add replace_fvar_with 2018-09-24 18:10:26 -07:00
Leonardo de Moura
1b1d4c202d chore(library/compiler/csimp): add auxiliary mk_let method 2018-09-24 18:10:26 -07:00
Leonardo de Moura
ac90dba90f chore(library/compiler/csimp): disable bogus warning 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
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
Sebastian Ullrich
f0a983fe30 fix(frontends/lean/pp): function with implicits in structure instance 2018-09-24 09:53:28 -07:00
Sebastian Ullrich
9a0b1c7a7f feat(library/init/lean/parser/basic): allow views to specify default value used with opt_param when nested in other views 2018-09-24 09:53:28 -07:00
Leonardo de Moura
07f96e8e09 feat(library/compiler): move let-decls that are used in only one minor to it 2018-09-23 19:27:06 -07:00
Leonardo de Moura
b9e2b4ad9f chore(library/compiler/cse): add "todo" 2018-09-23 19:27:06 -07:00
Leonardo de Moura
783b063535 chore(library/compiler/csimp): check arity
It is still commented since we need to handle `cases_on` first.
2018-09-23 19:27:06 -07:00
Leonardo de Moura
6e9e9c0012 feat(library/compiler): eta expand definitions 2018-09-23 19:27:06 -07:00
Leonardo de Moura
a31f12d8cd chore(library/init/core): revert ite+thunks modification
We don't need it since we marked `ite` as `[macro_inline]`
2018-09-23 19:27:06 -07:00
Leonardo de Moura
ad82ad69ec feat(library/init/core): cleanup bor and band 2018-09-23 19:27:06 -07:00
Leonardo de Moura
dd046b0e0a feat(library/init/core): mark id_rhs as [macro_inline] 2018-09-23 19:27:06 -07:00
Leonardo de Moura
c75db3bfc6 feat(library/compiler): unfold [macro_definition] before LCNF/ANF conversion 2018-09-23 19:27:06 -07:00
Leonardo de Moura
d43f9627c2 feat(library/init/core): use [macro_inline] to get shortcircuit semantics in new compiler stack 2018-09-23 19:27:06 -07:00
Leonardo de Moura
3473822c01 feat(library/compiler/inliner): add [macro_inline] attribute
For the old compiler stack, it behaves like `[inline]`.
For the new compiler stack, it instructs the compiler to inline
definitions before LCNF/ANF conversion.
2018-09-23 19:27:06 -07:00
Sebastian Ullrich
41c0bc87fd refactor(library/init/lean/parser): make views shallow via tysyntax 2018-09-22 21:24:38 -07:00
Leonardo de Moura
57af24ee82 fix(library/compiler/csimp): bugs when using beta_reduce, and is_let_val propagation 2018-09-22 05:08:06 -07:00
Leonardo de Moura
4a7cc94944 feat(library/compiler/csimp): remove unnecessary trivial let-decls 2018-09-21 15:10:07 -07:00
Leonardo de Moura
b6169d7077 feat(library/compiler/csimp): preparing for new design 2018-09-21 14:10:56 -07:00
Leonardo de Moura
7cfd3b4129 feat(library/compiler/lcnf): modify lcnf format
We should not require the body of a let-decl to be atomic.
2018-09-21 10:59:46 -07:00
Leonardo de Moura
097aa7ef14 chore(library/compiler): cleanup cce 2018-09-21 10:25:35 -07:00
Leonardo de Moura
ff2e28e557 feat(library/compiler): add cce: common case elimination 2018-09-20 21:38:57 -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
896b45239e feat(library/module_mgr,shell/lean): abort on import with errors 2018-09-20 15:46:47 -07:00
Sebastian Ullrich
f21609c93d chore(CMakeLists): relwithdebinfo build: disable assertions, frame pointer
(We don't really have any method for setting those just locally)
2018-09-20 15:46:47 -07:00
Leonardo de Moura
79c8e37cdf fix(library/compiler/csimp): incorrect assertions 2018-09-20 15:33:57 -07:00
Leonardo de Moura
e55b65ad78 chore(library/compiler/lcnf): make it clear when we create the let-expr 2018-09-20 15:33:57 -07:00
Leonardo de Moura
0ee6d80b3c feat(library/compiler/preprocess): add mode for llvm-profdata 2018-09-20 15:33:57 -07:00
Sebastian Ullrich
15d11cc483 feat(library/module_mgr): profile .olean serialization/deserialization 2018-09-20 13:54:17 -07:00
Leonardo de Moura
1efdd1a65d feat(library/compiler/csimp): improve inliner 2018-09-20 12:05:49 -07:00