Programming macro tree transducers

Patrick Bahr, Laurence E. Day

4 Citations (Scopus)

Abstract

A tree transducer is a set of mutually recursive functions transforming an input tree into an output tree. Macro tree transducers extend this recursion scheme by allowing each function to be defined in terms of an arbitrary number of accumulation parameters. In this paper, we show how macro tree transducers can be concisely represented in Haskell, and demonstrate the benefits of utilising such an approach with a number of examples. In particular, tree transducers afford a modular programming style as they can be easily composed and manipulated. Our Haskell representation generalises the original definition of (macro) tree transducers, abolishing a restriction on finite state spaces. However, as we demonstrate, this generalisation does not affect compositionality.

Original languageEnglish
Title of host publicationProceedings of the 9th ACM SIGPLAN Workshop on Generic Programming
Number of pages12
PublisherAssociation for Computing Machinery
Publication date2013
Pages61-72
ISBN (Print)978-1-4503-2389-5
DOIs
Publication statusPublished - 2013
Event9th ACM SIGPLAN Workshop on Generic Programming - Boston, United States
Duration: 28 Sept 201328 Sept 2013
Conference number: 9

Conference

Conference9th ACM SIGPLAN Workshop on Generic Programming
Number9
Country/TerritoryUnited States
CityBoston
Period28/09/201328/09/2013

Fingerprint

Dive into the research topics of 'Programming macro tree transducers'. Together they form a unique fingerprint.

Cite this