syb: Scrap Your Boilerplate

[ bsd3, generics, library ] [ Propose Tags ] [ Report a vulnerability ]

This package contains the generics system described in the Scrap Your Boilerplate papers (see http://www.cs.uu.nl/wiki/GenericProgramming/SYB). It defines the Data class of types permitting folding and unfolding of constructor applications, instances of this class for primitive types, and a variety of traversals.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0.0, 0.1.0.1, 0.1.0.2, 0.1.0.3, 0.2, 0.2.1, 0.2.2, 0.3, 0.3.1, 0.3.2, 0.3.3, 0.3.4, 0.3.5, 0.3.6, 0.3.6.1, 0.3.6.2, 0.3.7, 0.4.0, 0.4.1, 0.4.2, 0.4.3, 0.4.4, 0.5, 0.5.1, 0.6, 0.7, 0.7.1, 0.7.2.1, 0.7.2.2, 0.7.2.3, 0.7.2.4 (info)
Change log Changelog.md
Dependencies base (>=4.0 && <5.0) [details]
Tested with ghc ==9.6.1, ghc ==9.4.4, ghc ==9.2.7, ghc ==9.0.2, ghc ==8.10.7, ghc ==8.8.4, ghc ==8.6.5, ghc ==8.4.4, ghc ==8.2.2, ghc ==8.0.2, ghc ==7.10.3, ghc ==7.8.4, ghc ==7.6.3, ghc ==7.4.2, ghc ==7.2.2, ghc ==7.0.4
License BSD-3-Clause
Author Ralf Lammel, Simon Peyton Jones, Jose Pedro Magalhaes
Maintainer Sergey Vinokurov <serg.foo@gmail.com>
Category Generics
Home page https://github.com/dreixel/syb
Bug tracker https://github.com/dreixel/syb/issues
Source repo head: git clone https://github.com/dreixel/syb
Uploaded by SergeyVinokurov at 2023-07-30T17:25:29Z
Distributions Arch:0.7.2.4, Debian:0.7.1, Fedora:0.7.2.3, FreeBSD:0.5.1, LTSHaskell:0.7.2.4, NixOS:0.7.2.4, Stackage:0.7.2.4, openSUSE:0.7.2.4
Reverse Dependencies 363 direct, 16167 indirect [details]
Downloads 341666 total (422 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2023-07-30 [all 1 reports]

Readme for syb-0.7.2.4

[back to package description]

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: http://www.cs.uu.nl/wiki/GenericProgramming/SYB

Features

  • Easy generic programming with combinators
  • GHC can derive Data and Typeable instances for your datatypes
  • Comes with many useful generic functions

Requirements

  • GHC 6.10.1 or later
  • Cabal 1.6 or later

Bugs & Support

Please report issues or request features at the bug tracker:

https://github.com/dreixel/syb/issues

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

http://www.haskell.org/mailman/listinfo/generics