[Haskell] ANNOUNCE: syb-0.2

José Pedro Magalhães jpm at cs.uu.nl
Fri Apr 9 09:58:09 EDT 2010

syb: Scrap Your Boilerplate!

Scrap Your Boilerplate (SYB) is a library for generic programming in
Haskell. It
is supported since the GHC >= 6.0 implementation of Haskell. Using this
approach, you can write generic functions such as traversal schemes (e.g.,
everywhere and everything), as well as generic read, generic show and
equality (i.e., gread, gshow, and geq). This approach is based on just a few

primitives for type-safe cast and processing constructor applications.

It was originally developed by Ralf Lämmel and Simon Peyton Jones. Since
many people have contributed with research relating to SYB or its

More information is available on the webpage:

What's new

The biggest improvements from version 0.1 are:
  * Reintegration of the testsuite;
  * Introduction of the Generics.SYB.* module hierarchy (as synonyms for
    Data.Generics.* counterparts);
  * Adding gshows :: Data a => a -> ShowS (more efficient than gshow);
  * Adding gmapAccumA :: forall b d a. (Data d, Applicative a)
                      => (forall e. Data e => b -> e -> (b, a e))
                      -> b -> d -> (b, a d) ;
  * Adding ext1B :: (Data a, Typeable1 t)
                 => a -> (forall b. Data b => (t b)) -> a ;
  * Introduction of two new generic producers ('empty' and 'constrs'). The
    former produces an empty value of a given datatype, while the latter
    produces a list of values of a datatype, each using a different


* Easy generic programming with combinators

* GHC can derive Data and Typeable instances for your datatypes

* Comes with many useful generic functions


* GHC 6.10.1 or later
* Cabal 1.6 or later


Get the package:


Get the source:

  darcs get http://code.haskell.org/syb/

Bugs & Support

Please report issues or request features at the bug tracker:


For discussion about the library with the authors, maintainers, and other
interested persons use the mailing list:

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell/attachments/20100409/c3a59191/attachment.html

More information about the Haskell mailing list