Squid is a remarkable quasiquotation library that ensures all of your code transformations are sound! It checks for types and free variables, and has a really neat way of pattern-matching on code with alpha conversion.
miniblog.
Related Posts
Today I learnt that Haskell has *three* ways of changing what syntax means!
Quasiquotation: https://wiki.haskell.org/Quasiquotation
Template Haskell (like Lisp macros): https://wiki.haskell.org/Template_Haskell
RebindableSyntax:


