-
Book Overview & Buying
-
Table Of Contents
-
Feedback & Rating

Haskell Design Patterns
By :

In this chapter, we seek a unified view of "Generic Programming", which comes in many guises; hence the statement,
"Genericity is in the eye of the beholder" | ||
--Jeremy Gibbons, Datatype-Generic Programming |
We start with a broad perspective by reviewing Jeremy Gibbons' patterns of generic programming—many of which we have already encountered. Then we shift focus to one of the patterns—datatype-generic programming—which is characterized by generic functions parameterized by the shape of the datatype instead of the content.
To get a taste of datatype-generic programming, we'll sample three basic approaches: the sum of products, origami programming, and scrapping your boilerplate.
Along the way, we'll encounter a few exotic Haskell types (Typeable
and Data
; Bifunctor
and Fix
), reveal the underpinnings of Derivable type classes and also discover four Gang of Four design patterns...
Change the font size
Change margin width
Change background colour