Can you recommend full-fledged programming languages, other than Prolog, that provide first-class support for term rewriting or are primarily designed around it? I'm looking for a standalone language rather than a library, DSL, compiler extension, or macro system. It should also be actively developed and maintained as a long-term project. Pure looked like a good fit, but it hasn't been updated in several years.
2 Answers
Maude is probably worth investigating. It’s a standalone language and formal system specifically designed for rewriting logic, where you define terms, equations, and rewrite rules that transform values. That makes it a much closer match than ordinary macro systems or compiler rewrite extensions.
Macros can sometimes be used to implement transformations, but they aren’t quite the same thing. Macro systems generally rewrite program syntax during compilation, while term rewriting applies formal rules to structured values or terms. Based on that distinction, a language centered on rewriting logic—such as Maude—is likely a better fit.

Thanks, I’ll take a look at Maude.