Elixir adds meta-programming to Erlang. 
Elixir is a functional meta-programming aware language built on top of 
the Erlang VM. It is a dynamic language with flexible syntax with macros
 support that leverages Erlang's abilities to build concurrent, 
distributed, fault-tolerant applications with hot code upgrades.
Jonn Mostovoy kindly requested my permission to name the pretty printing module 
Wadler.ex, after my work on 
prettier printing, which extends 
John Hughes's work, and appears in 
Richard Bird's festschrift.  See also 
Dan Leijen's Haskell version.
 
Worth mentioning Kiama in the same context as well. I is an excellent functional language processing library (including pretty printing), written in Scala:
ReplyDeletehttps://code.google.com/p/kiama/