Programming macro tree transducers
- ,
- Laurence E. Day
- University of Copenhagen,
- University of Nottingham
Research Output:
Conference Article in Proceeding or Book/Report chapter
Book chapter
Peer-reviewOpen access
Publication Information
Output type
Research Output:
Conference Article in Proceeding or Book/Report chapter
Book chapter
Peer-reviewOriginal language
Undefined/UnknownPages from-to (Number of pages)
Pages 61-72 (12 pages)Publication milestones
- Published - 01/09/2013
Publication status
Published - 01/09/2013
Place of publication
New York, NY, USAPublisher
Association for Computing Machinery, United StatesISBN (Print)
978-1-4503-2389-5Publication IDs
- Scopus: 84887216048
Host publication title
Proceedings of the 9th ACM SIGPLAN Workshop on Generic ProgrammingAbstract
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.
Publication metrics
PlumX, opens in new tab
Captures
13
Citations
5
