Generic Programming with Mutually Recursive Sums of Products.

Version on this page:2.1.0
LTS Haskell 14.27:2.1.0
Stackage Nightly 2019-09-21:2.1.0
Latest on Hackage:2.3.0

See all snapshots generics-mrsop appears in

MIT licensed by Victor Miraldo and Alejandro Serrano
This version can be pinned in stack with:generics-mrsop-2.1.0@sha256:6f6c4fcb52a2532199bfdb4770f79df27118050ff1f78ffd2ca582ffd84c5ff0,2107


Generic Programming, with combinators, for Mutually Recursive Families in the Sums of Products style.

Check the Generics.MRSOP.Examples.RoseTreeTH for a simple quick start, or read our paper, “Sums of Products for Mutually Recursive Datatypes”, for a more detailed description.


Revision history for generics-mrsop

2.1.0 – Jul 2019

  • Added datatype Holes for representing families annotated with holes.
  • Brought in some monadic attribute grammar combinators
  • Big documentation update on a number of places

2.0.0 – Mar 2019

  • Eq1 and Show1 are now called EqHO and ShowHO. This avoids clashing with the already existing Eq1 in Prelude.
  • A number of functions received a IsNat constraint.
  • Generics.MRSOP.Util is now re-exported by Generics.MRSOP.Base.
  • Support for inheritted attributes no longer exists in Generics.MRSOP.AG
  • Fix is no longer implemented by AnnFix. The later now lives in Generics.MRSOP.AG

1.2.2 – Sep 2018

  • added monadic catamorphism for NP
  • added pattern signature generation for TH
  • require TestEqualiy for opaque types singleton
  • Zippers over deep representations
  • Refined Metadata handling
  • Fix is implemented as AnnFix – May 2018

  • First version. Released on an unsuspecting world.