Also known as Tree-rewriting, especially when the tree-like nature of the terms being rewritten is more salient.
All Programming Languages with paradigm "Term-rewriting"
Commentary
Term rewriting is perfect for when, instead of an error message, you want to see a half-reduced version of your original program when it breaks.