Pliant (http://pliant.cx/) is a programming language or rather a programming language framework. It's a MutableLanguage with a GraphReWritingCompiler. From RethinkingCompilerDesign: I followed the Pliant link above (http://pliant.cx) It really looks like what is required: TermRewriting on an AST, code-optimization as staged rewriting rules. An AST based on SExps, but after parsing a richer language. Quite how I would have done (or wanted to do) some years ago. But it seems somewhat ad hoc. Also it is not safe (due to its use of memory and casts). I couldn't find references to current research on compilers. There were few details about the low-level CodeGeneration, but it didn't look like state-of-the-art technology. But it really is the first project, that I have stumbled over, that succeeds to be a multiple language framework without leaving the core language. ---- ''Is there any truth to the rumor that the name was chosen just so you could say: "I code com.pliant"?'' ---- CategoryProgrammingLanguage CategoryMetaprogramming