Scrap your boilerplate

Scrap your boilerplate (SYB) is another early approach to datatype-generic programming, that is, it provides a way to define generic functions over a "universal" type representation.

SYB differs from the other two approaches we have explored in that the type representation is obfuscated from the user.

Earlier versions of the SYB approach had a strong focus on generic traversals over complex nested data structures, for example:

data Book = Book Title [Chapter] data Chapter = Chapter Title [Section] data Section = Section Title [Para] type Title = String; type Para = String haskellDP = Book "Haskell Design Patterns" chapters chapters = [Chapter "The building blocks" sections1, Chapter "IO Patterns" sections2] sections1 = [Section ...

Get Haskell Design Patterns now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.