Skip to main navigation Skip to search Skip to main content

Alloy: fast generic transformations for Haskell

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Data-type generic programming can be used to traverse and manipulate specific parts of large heterogeneously-typed tree structures, without the need for tedious boilerplate. Generic programming is often approached from a theoretical perspective, where the emphasis lies on the power of the representation rather than on efficiency. We describe use cases for a generic system derived from our work on a nanopass compiler, where efficiency is a real concern, and detail a new generics approach (Alloy) that we have developed in Haskell to allow our compiler passes to traverse the abstract syntax tree quickly. We benchmark our approach against several other Haskell generics approaches and statistically analyse the results, finding that Alloy is fastest on heterogeneously-typed trees.

Original languageEnglish
Title of host publicationHaskell '09: Proceedings of the 2nd ACM SIGPLAN symposium on Haskell
PublisherAssociation for Computing Machinery
Pages105-116
Number of pages12
ISBN (Print)9781605585086
DOIs
Publication statusPublished - 3 Sept 2009
Event2nd ACM SIGPLAN Haskell Symposium 2009 - Edinburgh, United Kingdom
Duration: 3 Sept 20093 Sept 2009

Conference

Conference2nd ACM SIGPLAN Haskell Symposium 2009
Abbreviated titleHaskell'09
Country/TerritoryUnited Kingdom
CityEdinburgh
Period3/09/093/09/09

Keywords

  • Alloy
  • Generic programming
  • Haskell

ASJC Scopus subject areas

  • Computational Theory and Mathematics
  • Hardware and Architecture
  • Software

Fingerprint

Dive into the research topics of 'Alloy: fast generic transformations for Haskell'. Together they form a unique fingerprint.

Cite this