A Clojure library providing Dynamic Reference Attribute Grammars.
During the development of Fipp, I stumbled upon Kiama. Fipp and Kiama provide a pretty printer built on some of the same research. Kiama, however, also provides libraries for tree rewriting and attribute grammars. After completing Fipp, I decided to study both of those areas of computer science. My project Retree is a direct port of Kiama's rewrite combinators. However, I decided to conduct more research before tackling an implementation of attribute grammars.
Torbjörn Ekman's thesis stood out among the literature: Extensible Compiler Construction. Guided by this work, I built this prototype of Ascribe as it stands today.
Then I stumbled upon racr. This has a lot in common with my goals for Ascribe. In light of the fact that there is new and exciting research occuring in the Dynamic Attribute Grammar world, I'm planning to continue development of Ascribe in the open.
Copyright © 2013 Brandon Bloom
Distributed under the Eclipse Public License, the same as Clojure.