Commit graph

14858 commits

Author SHA1 Message Date
Leonardo de Moura
2d8d0d5a6c feat(library/compiler): inline small functions and join points 2018-09-27 18:21:31 -07:00
Leonardo de Moura
6786b2bcc8 fix(library/compiler/csimp): bug at join point preservation code 2018-09-27 17:48:02 -07:00
Leonardo de Moura
c746783c0d fix(frontends/lean/pp): bug when pretty printing kernel projections 2018-09-27 17:09:02 -07:00
Leonardo de Moura
bd97f67f28 feat(library/compiler/csimp): improve heuristic for deciding whether we should create join point or not 2018-09-27 16:40:57 -07:00
Leonardo de Moura
4dd0b4079b fix(library/compiler/csimp): bug at mk_new_join_point 2018-09-27 16:40:57 -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
Sebastian Ullrich
e535cd92f7 perf(library/init/lean/parser/token): inline hot polymorphic functions
Decreases parser runtime by ~15%
2018-09-27 16:02: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
Leonardo de Moura
20e98cbcff feat(library/compiler/csimp): remove bad join-point creation 2018-09-27 14:56:09 -07:00
Leonardo de Moura
64b5e05a3e feat(library/init/lean/parser/parsec): try to minimize the amount of inlined code 2018-09-27 14:53:30 -07:00
Leonardo de Moura
dd50cc1785 feat(library/init/lean/parser/parsec): add orelse_cont to improve compilation time 2018-09-27 13:22:18 -07:00
Leonardo de Moura
d880b1c640 feat(library/compiler): add is_float_cases_on_worthwhile predicate and cleanup 2018-09-27 13:12:20 -07:00
Leonardo de Moura
78de3de764 chore(script/lib_perf): adapt to change in lean command line behavior 2018-09-27 13:11:42 -07:00
Leonardo de Moura
7a5d0dd65b fix(library/num): to_num should support the new nat literals supported in the kernel 2018-09-27 11:13:50 -07:00
Sebastian Ullrich
26c0f36848 doc(library/init/lean/parser/basic): expand comment 2018-09-27 10:16:40 -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
Leonardo de Moura
2c2103711c feat(library/compiler/csimp): we may be able to unfold join point 2018-09-26 18:01:57 -07:00
Leonardo de Moura
ccd73701cb feat(library/compiler/csimp): preserve joint points 2018-09-26 17:54:11 -07:00
Leonardo de Moura
ae81ac2768 chore(frontends/lean): remove parameter command from old parser
We still have a lot of leftover code, but it is not worth removing it
since we will delete the old parser.
2018-09-26 17:54:11 -07:00
Leonardo de Moura
7f64033111 chore(library/init): remove all occurrences of parameter command
We will not support the `parameter` command in Lean 4.
It is seldom used and creates many complications.
2018-09-26 17:54:11 -07:00
Leonardo de Moura
f3552f70f6 feat(library/compiler/csimp): simplify code 2018-09-26 17:54:10 -07:00
Leonardo de Moura
e7b99d5a07 fix(library/compiler/csimp): bug at split_entries 2018-09-26 17:54:10 -07:00
Leonardo de Moura
6578b2b6ce chore(library/compiler/csimp): cleanup 2018-09-26 17:54:10 -07:00
Leonardo de Moura
33322d44ee chore(library/compiler/csimp): remove dead code 2018-09-26 13:46:27 -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
Leonardo de Moura
938c8dae83 fix(library/init/control/combinators): [inline] ==> [macro_inline] 2018-09-26 09:08:06 -07:00
Leonardo de Moura
b324aa4b33 feat(library/compiler/csimp): do not inline partial applications 2018-09-26 09:05:28 -07:00
Leonardo de Moura
21b8199bc4 feat(library/compiler/util): do not consider constructors to be cost zero 2018-09-26 08:48:06 -07:00
Leonardo de Moura
7fed0b5cb0 fix(library/compiler/csimp): bug in the join point generation 2018-09-26 08:47:49 -07:00
Leonardo de Moura
15222a79a0 chore(library/compiler/csimp): display "code size" 2018-09-25 19:34:29 -07:00
Leonardo de Moura
25780c6daf fix(library/compiler/csimp): never create join points for floating cases from application 2018-09-25 19:34:29 -07:00
Leonardo de Moura
32888b45a8 chore(library/compiler/csimp): remove leftover 2018-09-25 19:34:29 -07:00
Leonardo de Moura
8613255ff2 chore(library/compiler/csimp): add comment 2018-09-25 19:34:29 -07:00
Leonardo de Moura
6b6b6eb96f feat(library/compiler/csimp): improve float_cases_on 2018-09-25 19:34:29 -07:00
Leonardo de Moura
c9cb576c9b feat(library/compiler/csimp): float cases from application when visiting application 2018-09-25 19:34:29 -07:00
Leonardo de Moura
dc4ba760b8 fix(library/compiler/csimp): bug at float_cases_on 2018-09-25 19:34:29 -07:00
Leonardo de Moura
06e78b0e48 feat(library/compiler/csimp): create join points for float_cases_on 2018-09-25 19:34:29 -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
18cf4d50bb chore(frontends/lean/elaborator): ignore error caused by synthetic sorry 2018-09-25 16:48:01 -07:00
Sebastian Ullrich
90984a63e8 chore(frontends/lean/elaborator): improve application error positions 2018-09-25 16:08:57 -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
11259b62d2 chore(frontends/lean/elaborator): try to make error positions a bit more accurate 2018-09-25 14:48:57 -07:00
Sebastian Ullrich
bba8beca63 feat(library/init/lean/parser/token): give number a view 2018-09-25 14:18:52 -07:00
Sebastian Ullrich
d8b49e1dee feat(library/init/control/functor): add <&>, which the old elaborator likes better than <$> 2018-09-25 13:23:56 -07:00
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