Programming languages that can modify the underlying AST

Implementations