May 26, 2018
Attribute Grammar System of Universiteit Utrecht
UUAG is the Utrecht University Attribute Grammar system. It generates Haskell files from an attribute grammar specification.
It is a preprocessor for Haskell which makes it easy to write catamorphisms that is, functions that do to any datatype what foldr does to lists. You can define tree walks using the intuitive concepts of inherited and synthesized attributes, while keeping the full expressive power of Haskell.