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 generic
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 then,
many people have contributed with research relating to SYB or its applications.

More information is available on the webpage:


* 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

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:
Depends on:
Used by 266 packages:
AGI, BNFC-meta, Bravo, CCA, CSPM-Frontend, CSPM-Interpreter, CSPM-cspm, ChasingBottoms, DPM, DataTreeView, DrHylo, GenI, GeoIp, GroteTrap, HAppS-Data, HAppS-IxSet, HAppS-Server, HAppS-State, HStringTemplate, HaRe, Hermes, Hs2lib, HsSyck, Interpolation, Interpolation-maxs, JsContracts, KiCS, KiCS-debugger, LambdaPrettyQuote, LslPlus, MagicHaskeller, MuCheck, OptDir, OrPatterns, PartialTypeSignatures, Proper, Rlang-QQ, SVG2Q, Strafunski-StrategyLib, WebBits, WebBits-Html, Yogurt, Yogurt-Standalone, activehs, aeson-native, aeson-schema, ajhc, algebraic-classes, alloy, alms, antiquoter, applicative-splice, apply-refact, argon, astview, astview-utils, atom, b9, batchd, binary-generic, buildwrapper, cabal-debian, cake3, camfort, carray, cassy, cflp, cheapskate, citeproc-hs, cmaes, cmathml3, cmdlib, couchdb-conduit, cryptol, curry-base, curry-frontend, data-dispersal, data-tree-print, dates, dbus-th, deepseq-bounded, derive, dewdrop, distributed-closure, distributed-process, doctest, extcore, fay, fft, fibon, flowlocks-framework, formlets, fpco-api, free-theorems, free-theorems-counterexamples, free-theorems-seq, free-theorems-seq-webui, freesect, fresh, genprog, ghc-exactprint, ghc-imported-from, ghc-mod, ghc-syb-utils, ghci-ng, ginsu, gitit, google-html5-slide, gpah, graph-utils, grm, groundhog-inspector, haddock-test, halberd, happs-tutorial, happstack-contrib, happstack-data, happstack-facebook, happstack-helpers, happstack-hsp, happstack-ixset, happstack-server, happstack-state, haskell-platform-test, haskell-rules, haskell-src, haskell-src-exts-qq, haskell-src-meta, haskell-src-meta-mwotton, haskell-token-utils, hastache, hdevtools, hermit-syb, hfusion, hmumps, hobbits, holy-project, hs-bibutils, hsc3-rw, hsdev, hssqlppp, hssqlppp-th, hstyle, inline-java, instant-generics, intero, interpol, iptables-helpers, iso8583-bitmaps, ixdopp, ixset, ixset-typed, j2hs, java-bridge, jmacro, json, json-fu, lambdabot-core, lambdabot-haskell-plugins, lambdabot-utils, language-asn1, language-c, language-c-quote, language-fortran, language-lua-qq, language-objc, lhs2TeX-hl, libhbb, libssh2, libvirt-hs, liquid-fixpoint, liquidhaskell, llvm-general-quote, logic-TPTP, logic-classes, module-management, monadloc-pp, multifocal, multirec-alt-deriver, myTestlll, netcore, netlist, nettle-openflow, newtype-th, nikepub, open-pandoc, orgmode, pandoc, pandoc-citeproc, pandoc-crossref, pandoc-types, panhandle, paragon, pec, pointful, pointless-haskell, polyseq, pptable, preprocessor-tools, prolog, property-list, protocol-buffers, protocol-buffers-fork, pugs-compat, purescript, quandl-api, random-fu, random-source, reflex, remote, repr-tree-syb, rwlock, sai-shape-syb, sbv, scholdoc, scholdoc-citeproc, scholdoc-texmath, scholdoc-types, seqaid, set-extra, show, singletons, sjsp, slot-lambda, stackage-curator, static-resources, stdata, storablevector, store, strict-ghc-plugin, stringtable-atom, stylish-haskell, svg2q, syntactic, syz, tamarin-prover, tamarin-prover-term, tamarin-prover-theory, tamarin-prover-utils, target, tersmu, texmath, text-xml-generic, th-context, th-desugar, th-expand-syns, th-extras, th-typegraph, th-utilities, todos, torrent, type-level, type-level-tf, type-settheory, typehash, typerbole, typescript-docs, uhc-light, uniplate, units, urembed, url-generic, urxml, yesod-csp, yesod-dsl, zeroth
comments powered byDisqus