BSD-3-Clause licensed by Jose Pedro Magalhaes
Maintained by [email protected]

Module documentation for 0.3.4.4

This version can be pinned in stack with:[email protected]:3ce38f1af2edc138b690a138e776637e5fd1ede9ee5151a31c4be77a73133943,2621
  • Generics
    • Generics.Regular
      • Generics.Regular.Base
      • Generics.Regular.Constructor
      • Generics.Regular.Functions
        • Generics.Regular.Functions.ConNames
        • Generics.Regular.Functions.Crush
        • Generics.Regular.Functions.Eq
        • Generics.Regular.Functions.Fold
        • Generics.Regular.Functions.GMap
        • Generics.Regular.Functions.LR
        • Generics.Regular.Functions.Read
        • Generics.Regular.Functions.Show
        • Generics.Regular.Functions.Zip
      • Generics.Regular.Selector
      • Generics.Regular.TH

This package provides generic functionality for regular datatypes. Regular datatypes are recursive datatypes such as lists, binary trees, etc. This library cannot be used with mutually recursive datatypes or with nested datatypes. The multirec library [1] can deal with mutually recursive datatypes.

This library has been described in the paper:

  • A Lightweight Approach to Datatype-Generic Rewriting. Thomas van Noort, Alexey Rodriguez, Stefan Holdermans, Johan Jeuring, Bastiaan Heeren. ACM SIGPLAN Workshop on Generic Programming 2008.

More information about this library can be found at http://www.cs.uu.nl/wiki/GenericProgramming/Regular.

[1] http://hackage.haskell.org/package/multirec