Proceedings of the ACM SIGPLAN Workshop on Haskell Workshop 2007
DOI: 10.1145/1291201.1291208
|View full text |Cite
|
Sign up to set email alerts
|

Uniform boilerplate and list processing

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… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
54
0

Year Published

2008
2008
2016
2016

Publication Types

Select...
5
1
1

Relationship

1
6

Authors

Journals

citations
Cited by 50 publications
(54 citation statements)
references
References 21 publications
0
54
0
Order By: Relevance
“…The Uniplate and Strafunsky libraries are variations on SYB offering different interfaces but neither allows mapping over more types compared to SYB [13,15].…”
Section: Generic Programming Frameworkmentioning
confidence: 99%
“…The Uniplate and Strafunsky libraries are variations on SYB offering different interfaces but neither allows mapping over more types compared to SYB [13,15].…”
Section: Generic Programming Frameworkmentioning
confidence: 99%
“…The present paper provides the first substantial attempt of a systematic discussion of programming errors and their relationship to strategy properties. The technique of § 4.1 to use less generic traversal schemes has also been explored in [16] in the context of devising simpler types for traversal programs and more efficient implementations. The technique of § 4.4 to statically check for reachable types is inspired by adaptive programming [18,15,12] that subjects its traversal specifications to a similar check.…”
Section: Related Workmentioning
confidence: 99%
“…To simplify a DSL we apply these identities from left to right wherever they occur, using the Uniplate generics library (Mitchell and Runciman 2007).…”
Section: Dsl Simplificationmentioning
confidence: 99%
“…We present the output simplification directly as we have implemented it, using the Uniplate generics library (Mitchell and Runciman 2007). All of the rules operate at the expression level, and each rule is correct individually.…”
Section: Output Simplificationmentioning
confidence: 99%