Open lixitrixi opened 1 week ago
This PR: Detailed Report
lines......: 73.2% (3633 of 4964 lines)
functions..: 59.0% (372 of 630 functions)
branches...: no data found
Main: Detailed Report
lines......: 73.1% (3617 of 4948 lines)
functions..: 59.2% (371 of 627 functions)
branches...: no data found
Lines coverage changed by 0.10% and covered lines changed by 16
Functions coverage changed by -0.20% and covered lines changed by 1
Branches... coverage: No comparison data available
I like everything on the list!
Continuing my tradition of writing these in random places...
For tree-morph, I suggest we take an existing test case and see how far uniplate can go. For example:
Take this test: https://github.com/conjure-cp/conjure-oxide/blob/ff378f2a13013be119a3cd085122e714855e8034/crates/tree_morph/tests/add_mul.rs
Very happy to expand on this. I think tree-morph needs a good design document.
@YehorBoiar @lixitrixi @niklasdewally @TAswan
Continuing my tradition of writing these in random places...
For tree-morph, I suggest we take an existing test case and see how far uniplate can go. For example:
Take this test: https://github.com/conjure-cp/conjure-oxide/blob/ff378f2a13013be119a3cd085122e714855e8034/crates/tree_morph/tests/add_mul.rs
- Instead of rewriting Expr directly say you had a Stmt type that contained a version string and a single expression. Do the rest of the rules continue working on the Stmt type without any changes?
- Change Stmt to contain an Option
- how about now? - Change the Stmt to contain a Vec
- same test. - Create a Program type which has a Vec
in it. Change the rules to work on Exprs, but also create an entire new Program object, optionally. This is our in-context rewriting setup in Oxide. tree-morph should be take as input the rule database, a function that implements "adding" a Program object on top of an existing Program object and handle the rest. Very happy to expand on this. I think tree-morph needs a good design document.
@YehorBoiar @lixitrixi @niklasdewally @TAswan
i havent had much chance to test the limits of biplate yet so it would be cool to see how far we can push it!
feel free to dump any problems you run into in issues in the uniplate repo :)
WIP adding useful out-of-the-box selection strategies for
tree-morph
.I encourage people to comment ideas that might be useful! See
helpers.rs
for a current TODO list.