Component-Based Synthesis for Complex APIs: https://www.cs.utexas.edu/~isil/sypet-popl17.pdf
An incredible paper demonstrating synthesis of significantly sized pieces of Java code! You write a test case, and SyPet writes the code.
Related Posts
Over a sufficiently long time horizon, all code you write is legacy code.
ASTs typically discard comments, and that's usually what you want.
The only time (AFAICS) that preserving comments is useful is for writing a code formatter.
Could you write a formatter in terms of a list of lexemes? A CST is a non-trivial bit of code for one use case.
Difftastic has been cited in a paper!
Modernizing SMT-Based Type Error Localization https://arxiv.org/abs/2408.09034
The authors use difftastic to work out which parts of a buggy program have actually changed, a great use case :)