ACM Home Page
Please provide us with feedback. Feedback
Uniform boilerplate and list processing
Full text PdfPdf (242 KB)
Source
Haskell archive
Proceedings of the ACM SIGPLAN workshop on Haskell workshop table of contents
Freiburg, Germany
SESSION: Session 2 table of contents
Pages: 49 - 60  
Year of Publication: 2007
ISBN:978-1-59593-674-5
Authors
Neil Mitchell  University of York, York, United Kingdom
Colin Runciman  University of York, York, United Kingdom
Sponsors
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 6,   Downloads (12 Months): 42,   Citation Count: 2
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1291201.1291208
What is a DOI?

ABSTRACT

Generic traversals over recursive data structures are often referred to as boilerplate code. The definitions of functions involving such traversals may repeat very similar patterns, but with variations for different data types and different functionality. Libraries of operations abstracting away boilerplate code typically rely on elaborate types to make operations generic. The motivating observation for this paper is that most traversals have value-specific behaviour for just one type. We present the design of a new library exploiting this assumption. Our library allows concise expression of traversals with competitive performance.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
2
 
3
Dimitry Golubovsky, Neil Mitchell, and Matthew Naylor. Yhc.Core - from Haskell to Core. The Monad.Reader, (7):45--61, April 2007.
4
 
5
Ralf Hinze and Johan Jeuring. Generic Haskell: Practice and theory. In Summer School on Generic Programming, volume 2793 of LNCS, pages 1--56. Springer-Verlang, 2003.
 
6
 
7
 
8
Ralf Lämmel. The sketch of a polymorphic symphony. In Proc. of International Workshop on Reduction Strategies in Rewriting and Programming(WRS 2002), volume 70 of ENTCS. Elsevier Science, 2002.
 
9
Ralf Lämmel. Typed generic traversal with term rewriting strategies. Journal of Logic and Algebraic Programming, 54:1--64, 2003.
10
11
12
 
13
 
14
Lambert G. L. T. Meertens. Paramorphisms. Formal Aspects of Computing, 4(5):413--424, 1992.
 
15
Neil Mitchell and Stefan O'Rear. Derive - project home page. http://www.cs.york.ac.uk/~ndm/derive/, March 2007.
 
16
Neil Mitchell and Colin Runciman. A static checker for safe pattern matching in Haskell. In Trends in Functional Programming (2005 Symposium), volume 6, pages 15--30. Intellect, 2007.
 
17
 
18
 
19
Simon Peyton-Jones, Andrew Tolmach, and Tony Hoare. Playing by the rules: Rewriting as a practical optimisation technique in GHC. In Proc. Haskell '01, pages 203--233. ACM Press, 2001.
20
21
22
 
23
Eelco Visser. Program transformation with Stratego/XT: Rules, strategies, tools, and systems in StrategoXT-0.9. In Domain-Specific Program Generation, volume 3016 of LNCS, pages 216--238. Spinger-Verlag, June 2004.
 
24
Philip Wadler. List comprehensions. In Simon Peyton Jones, editor, Implementation of Functional Programming Languages. Prentice Hall, 1987.
25
 
26
Noel Winstanley. Reflections on instance derivation. In 1997 Glasgow Workshop on Functional Programming. BCS Workshops in Computer Science, September 1997.


Collaborative Colleagues:
Neil Mitchell: colleagues
Colin Runciman: colleagues