Commit graph

16835 commits

Author SHA1 Message Date
Leonardo de Moura
64ee4e01a8 refactor(library/init/lean/attributes): split getParam into getParam and afterSet 2019-06-26 10:09:57 -07:00
Leonardo de Moura
be6ca5ba30 feat(library/init/lean/compiler/externattr): @[extern] attribute in Lean 2019-06-26 08:42:57 -07:00
Leonardo de Moura
ff07ec70f4 core(library/projection): switch to Lean implementation 2019-06-26 08:12:06 -07:00
Leonardo de Moura
0e86ae7a8c feat(library/init/lean): projection info in Lean 2019-06-26 07:57:10 -07:00
Leonardo de Moura
7ca4607ef3 chore(library/init/lean): move name_mangling.lean to compiler directory 2019-06-26 07:05:23 -07:00
Leonardo de Moura
2c39ecdbff chore(library/init/lean/disjoint_set): remove dead code 2019-06-26 06:30:24 -07:00
Leonardo de Moura
8a1e2bf79b chore(library/projection): preparing to port projection_info to Lean 2019-06-25 13:17:59 -07:00
Leonardo de Moura
5148497e8c feat(library/init/lean/compiler/externattr): add mkExternAttr skeleton 2019-06-25 13:16:11 -07:00
Leonardo de Moura
5188eb2d3b feat(library/init/lean/compiler/externattr): decode [extern ...] parameters 2019-06-25 12:05:34 -07:00
Leonardo de Moura
1972f9a426 fix(stage0): missing files 2019-06-25 11:23:34 -07:00
Leonardo de Moura
aa111df0ec feat(library/init/lean/syntax): add Syntax.isIdOrAtom 2019-06-25 11:20:31 -07:00
Leonardo de Moura
2e01ac508a feat(library/init/lean/syntax): primitives for creating and testing string and nat literals 2019-06-25 10:39:23 -07:00
Leonardo de Moura
d870b8af85 chore(stage0): update 2019-06-25 09:18:38 -07:00
Leonardo de Moura
1ff6ee3155 feat(library/init/lean/attributes): allow getParam at ParametricAttribute registration to update environment 2019-06-25 09:15:55 -07:00
Leonardo de Moura
70a1589817 refactor(library/init/lean): move extern.lean to compiler subdirectory 2019-06-25 08:59:55 -07:00
Leonardo de Moura
6cb35bd8a1 chore(frontends/lean/elaborator): replace C++ elaborator attributes with new ones implemented in Lean 2019-06-25 08:37:19 -07:00
Leonardo de Moura
74f0c77915 feat(library/init/lean/elaborator): implement elaborator strategy attributes in Lean 2019-06-25 08:24:56 -07:00
Leonardo de Moura
8206ef0dab feat(library/reducible): use new Lean implementation 2019-06-24 15:48:12 -07:00
Leonardo de Moura
00ad43fcfe chore(stage0): update 2019-06-24 15:48:12 -07:00
Leonardo de Moura
34586b185c feat(library/init/lean): implement reducibility attributes in Lean 2019-06-24 15:48:12 -07:00
Leonardo de Moura
5d27fd279b feat(library/init/lean/attributes): add EnumAttributes 2019-06-24 15:48:12 -07:00
Leonardo de Moura
061e13eaea chore(library/reducible): remove dead code 2019-06-24 15:48:12 -07:00
Leonardo de Moura
45dc2cd49a feat(library/init/lean/compiler): [export] attribute in Lean 2019-06-24 15:48:12 -07:00
Leonardo de Moura
bc0c0ee9bc chore(tests): fix tests 2019-06-24 15:48:11 -07:00
Leonardo de Moura
714468dc60 chore(frontends/lean): remove include and omit commands 2019-06-24 15:48:11 -07:00
Leonardo de Moura
4c8420406d chore(stage0): update 2019-06-24 15:48:11 -07:00
Leonardo de Moura
af2d6dbd45 chore(library/init): avoid local attribute 2019-06-24 15:48:11 -07:00
Leonardo de Moura
94bca2b9d8 chore(library/init): mimize use of notations 2019-06-24 15:48:11 -07:00
Leonardo de Moura
ce016688ee chore(frontends/lean/builtin_cmds): remove local notation from old parser 2019-06-24 15:48:11 -07:00
Leonardo de Moura
b225112234 chore(stage0): update 2019-06-24 15:48:11 -07:00
Leonardo de Moura
dda0e38802 chore(library/init): avoid local notation 2019-06-24 15:48:11 -07:00
Leonardo de Moura
da09ef4f66 feat(frontends/lean/builtin_exprs): minor improvement 2019-06-24 15:48:11 -07:00
Leonardo de Moura
24e3bff429 feat(frontends/lean): add simple parser! macro 2019-06-24 15:48:11 -07:00
Leonardo de Moura
6a740723a4 chore(frontends/lean): remove node! and nodeChoice! macros
They were used in the parsing framework based on `Parsec`
2019-06-24 15:48:11 -07:00
Leonardo de Moura
2c4cec184a test(tests/bench): add C++ versions of rbmap benchmarks 2019-06-22 06:58:27 -07:00
Leonardo de Moura
8e98e4375f chore(tests/bench): match order we used in the paper 2019-06-22 06:29:47 -07:00
Leonardo de Moura
3c4c413c2c test(tests/bench/rbmap2): fix benchmark 2019-06-21 16:11:05 -07:00
Leonardo de Moura
82c90c7c96 test(tests/bench/unionfind_clean): add clean version 2019-06-21 16:10:53 -07:00
Leonardo de Moura
8f1345dc53 chore(library/init/lean/syntax): simplify SyntaxNodeKind 2019-06-21 14:24:44 -07:00
Leonardo de Moura
e4344b0c94 chore(library/init/lean/parser/default): update default 2019-06-21 14:20:40 -07:00
Leonardo de Moura
0fe8fd1307 feat(library/init/lean/parser/parser): notation 2019-06-21 14:20:22 -07:00
Leonardo de Moura
43fd0eeb94 chore(library/init/coe): minor 2019-06-21 14:15:26 -07:00
Leonardo de Moura
bc9e460f62 fix(library/init/lean/compiler/ir): collectUsedDecls must take initialization functions into account
Move builtin parser level to its own directory
2019-06-21 13:34:42 -07:00
Leonardo de Moura
7f3543096a test(tests/playground/parser2): proof of concept 2019-06-20 16:48:17 -07:00
Leonardo de Moura
93e5746739 chore(library/init/lean/parser/parser): naming consistency 2019-06-20 16:47:55 -07:00
Leonardo de Moura
98879f1580 refactor(library/init/lean/parser/parser): simplify SyntaxNodeKind
The numeric `id` generation is works well for builtin parsers, but it
creates problems when defining dynamic ones.
2019-06-20 14:51:59 -07:00
Leonardo de Moura
4ab31275a4 chore(library/init, frontends/lean): remove foldl and foldr notation, and implement list notation in the old parser 2019-06-20 14:32:08 -07:00
Leonardo de Moura
807ec2169a chore(frontends/lean/notation_cmd): remove scoped notation support 2019-06-20 14:13:56 -07:00
Leonardo de Moura
9e73d92e42 chore(library/init): remove instances of scoped notation 2019-06-20 14:08:35 -07:00
Leonardo de Moura
00aa2a3ffe chore(library/user_recursors): remove [recursor] attribute and environment extension 2019-06-20 11:25:53 -07:00