Thumbnail
Access Restriction
Open

Author Brown, Neil C. C. ♦ Sampson, Adam T.
Source CiteSeerX
Content type Text
File Format PDF
Language English
Subject Domain (in DDC) Computer science, information & general works ♦ Data processing & computer science
Subject Keyword Fast Generic Transformation ♦ Theoretical Perspective ♦ Large Heterogeneously-typed Tree Structure ♦ Use Case ♦ Specific Part ♦ New Generic Approach ♦ Abstract Syntax Tree ♦ Generic Programming ♦ Heterogeneously-typed Tree ♦ Nanopass Compiler ♦ Data-type Generic Programming ♦ Several Haskell Generic Approach ♦ Real Concern ♦ Generic System ♦ Tedious Boilerplate
Description 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.
Educational Role Student ♦ Teacher
Age Range above 22 year
Educational Use Research
Education Level UG and PG ♦ Career/Technical Study
Learning Resource Type Article
Publisher Date 2009-01-01
Publisher Institution Pages 105–116 of: Haskell ’09: Proc. 2nd ACM SIGPLAN symposium on Haskell. ACM