1. Summary
  2. Files
  3. Support
  4. Report Spam
  5. Create account
  6. Log in


From developers

Jump to: navigation, search

This page is under construction.



The "Scrap your boilerplate" (SYB) approach is a lightweight generic programming approach. The original SYB proposal targeted Haskell, but the idea has been adopted to other languages over the years. SYB allows one to write generic functions such as traversal schemes (e.g., everywhere and everything), as well as generic read, generic show and generic equality (i.e., gread, gshow, and geq). SYB is based on just a few primitives for type-safe cast and processing constructor applications.

Haskell specifics

SYB works out of the box with GHC >= 6.0; see modules Data.Generics.

Documentation of Data.Generics is available online: SYB documentation (GHC 6.12).

A simple example is available for anonymous checkout with svn: svn checkout string.

Selected publications

  • "Scrap your boilerplate: a practical design pattern for generic programming" by Ralf Lämmel and Simon Peyton-Jones, TLDI 2003. ACM DL.
  • "Scrap more boilerplate: reflection, zips, and generalised casts" by Ralf Lämmel and Simon Peyton-Jones, ICFP 2004. ACM DL.
  • "Scrap your boilerplate with class: extensible generic functions" by Ralf Lämmel and Simon Peyton-Jones, ICFP 2005. ACM DL.
  • "Scrap your nameplate: (functional pearl)" by James Cheney, ICFP 2005. ACM DL.
  • ""Scrap Your Boilerplate" Reloaded" by Ralf Hinze, Andres Löh and Bruno C. d. S. Oliveira, FLOPS 2006. Springer Link
  • ""Scrap Your Boilerplate" Revolutions" by Ralf Hinze and Andres Löh, MPC 2006. Springer Link
  • "A generic recursion toolbox for Haskell or: scrap your boilerplate systematically" by Deling Ren and Martin Erwig, 2006 ACM SIGPLAN workshop on Haskell. ACM DL.
  • "Scrap++: scrap your boilerplate in C++" by Gustav Munkby, Andreas Priesnitz, Sibylle Schupp, and Marcin Zalewski, 2006 ACM SIGPLAN workshop on Haskell. ACM DL.
  • "Scrap your boilerplate with XPath-like combinators" by Ralf Lämmel, POPL 2007. ACM DL
  • "Uniform boilerplate and list processing" by Neil Mitchell and Colin Runciman, 2007 ACM SIGPLAN workshop on Haskell. ACM DL.
  • "Scrap your boilerplate: prologically!" by Ralf Lämmel, PPDP 2009, ACM DL
  • "Scrap your zippers: a generic zipper for heterogeneous types" by Michael D. Adams, 2010 ACM SIGPLAN workshop on Generic programming. ACM DL.

Further resources

Personal tools