Scrap your boilerplate: a practical design pattern for generic programming
This work describes a design pattern for writing programs that traverse data structures built from rich mutually-recursive data types that makes essential use of rank-2 polymorphism, an extension found in some implementations of Haskell.
Google's MapReduce programming model - Revisited
- R. Lämmel
- Computer ScienceScience of Computer Programming
- 1 October 2007
Toward an engineering discipline for grammarware
- P. Klint, R. Lämmel, C. Verhoef
- Computer ScienceTSEM
- 1 July 2005
This work identifies the problems with the current grammarware practices, the barriers that currently hamper research, and the promises of an engineering discipline for grammarware, its principles and the research challenges that have to be addressed.
Scrap your boilerplate with class: extensible generic functions
This paper extends the 'Scrap your boilerplate' approach to generic programming to support this open style, and demonstrates the desirability of abstraction over type classes, and the usefulness of recursive dictionarie.
Strongly typed heterogeneous collections
- O. Kiselyov, R. Lämmel, K. Schupke
- Computer ScienceACM SIGPLAN Symposium/Workshop on Haskell
- 22 September 2004
This work describes HLIST - a Haskell library for strongly typed heterogeneous collections including extensible records and raises interesting issues regarding Haskell's type system, in particular, avoidance of overlapping instances, and reification of type equality and type unification.
Scrap Your Boilerplate
Generic programming is the umbrella term to describe a wide variety of programming technology directed at this problem, which aim to provide mechanical support for the “boilerplate” part, leaving the programmer free to concentrate on the important part of the algorithm.
Typed Combinators for Generic Traversal
- R. Lämmel, Joost Visser
- Computer ScienceInternational Symposium on Practical Aspects of…
- 19 January 2002
This work introduces emph{functional strategies: typeful generic functions that not only can be applied to terms of any type, but which also allow generic traversal into subterms.
Bidirectional Transformations: A Cross-Discipline Perspective
- K. Czarnecki, Nate Foster, Zhenjiang Hu, R. Lämmel, Andy Schürr, James F. Terwilliger
- GeologyICMT@TOOLS
- 29 June 2009
The state of the art and technical presentations delivered at the GRACE International Meeting on Bidirectional Transformations are surveyed and a new effort to establish a benchmark for bidirectional transformations is introduced.
Semi‐automatic grammar recovery
- R. Lämmel, C. Verhoef
- Computer ScienceSoftware, Practice & Experience
- 1 December 2001
This work provides a structured process to recover grammars including the adaptation of raw extracted Grammars and the derivation of parsers and was the first to publish a (Web‐enabled) grammar specification so that others can use this result to construct their own grammar‐based tools for VS COBOL II or derivatives.
Grammar Testing
- R. Lämmel
- Computer ScienceFundamental Approaches to Software Engineering
- 2 April 2001
This work proposes a generalisation of the known rule coverage for grammars, that is, context-dependent branch coverage, and investigates grammar testing, especially coverage analysis, test set generation, and integration of testing and grammar transformations.
...
...