This was a fantastic talk! This is so useful! I'd explored regular expressions as a way of hydrating yaml specifications into code, and found it difficult to solve undermatching and overmatching at the same time, and this addressed that with, essentially, a state-machine approach. This both addressed my concern and told me that someone very well may have done the heavy lifting already!
@jdh305 жыл бұрын
You had me at "my favorite color is OCaml".
@davidlewis46834 жыл бұрын
Parser combinator is a great pattern by itself but you have really illuminated another aspect of them for me.
@EvgeniyDolzhenko9 ай бұрын
Is thert anything that would allow for automatic code simplification?
@Jebusankel5 жыл бұрын
Check out the Structural Search and Replace feature in Jetbrains IDEs. Similar if not as academically rigorous. And you can use it to create custom inspections.
@rvtond5 жыл бұрын
Oh for sure: JetBrains tooling and, e.g., MPS have rich features. A lot of excellent work has also gone into related tools like Stratego/XT, and there are lots of academic resources on this. I'm a fan of these language workbenches, and I hope they move us closer to more powerful, easily accessible, and ubiquitous IDE features. There's certainly overlap between those interests and what I present here. Program transformation tooling can be viewed on a spectrum, and in this work the idea is to be especially general to many languages while keeping the up-front cost close to zero for writing grammars or translations needed to declaratively manipulate programs/fragments at a richer structural expressivity compared to, e.g., regex. Thanks for watching!
@summarity5 жыл бұрын
@@rvtond How do tree-sitter queries ( github.com/tree-sitter/tree-sitter/pull/444 ) overlap with the matching and transformation tasks comby enables?
@dmitryponyatov21585 жыл бұрын
Can I find some tutorial on using Maude for such a work?