Copenhagen Programming Language Seminar

Banana Algebra: Syntactic Language Extension via an Algebra of Languages and Transformations

Claus Brabrand
The IT University

Thursday April 2 2009, 15:15-16:00
DIKU South, Njalsgade 128, 2300 Copenhagen S, Room 24-5-62


We propose *an algebra of languages and transformations* as a means for /extending languages syntactically/. The algebra provides a layer of high-level abstractions built on top of /languages/ (captured by context-free grammars) and /transformations/ (captured by constructive catamorphisms). The algebra is /self-contained/ in that any term of the algebra specifying a transformation can be reduced to a constant catamorphism, before the transformation is run. Thus, the algebra comes "for free" without sacrificing the strong safety and efficiency properties of constructive catamorphisms. The entire algebra as presented in the paper is implemented as the Banana Algebra Tool which may be used to syntactically extend languages in an incremental and modular fashion via algebraic composition of previously defined languages and transformations. We demonstrate and evaluate the tool via several kinds of extensions. This is joint work with Jacob Andersen (Aarhus Uni.)

Scientific host:Claus Brabrand Administrative host: Annette Enggaard. All are welcome.
The Copenhagen Programming Language Seminar (COPLAS) is a collaboration between DIKU, ITU, KVL and RUC.
COPLAS is sponsored by the FIRST Graduate School.
To receive information about COPLAS talks by email, send a message to prog-lang-request@mail.it-c.dk with the word 'subscribe' as subject or in the body.

For more information about COPLAS, see http://www.coplas.org