@hackage nanopass0.0.3.0

Create compilers using small passes and many intermediate representations.

Uses Template Haskell to facilitate using a vast number of intermediate representations. On the one hand, it can generate data types for syntax trees based on their relationships. Further, generates the boilerplate for writing transformations between related syntax trees.

See README.md for more details.