A very cool project: OCaml - already one of the most beautiful functional programming languages - is being extended with multistage programming. In principle, this is comparable to macros from Common Lisp or Scheme - but of course defined in a functionally clean way. Through multistage programming, OCaml now allows the creation of mini-languages for specific problem domains and code generation in these mini-languages - without the whole thing becoming inefficient due to execution overhead. However, I haven't yet looked into whether it comes anywhere close to the power of Common Lisp macros.