
Generics.MultiRec.FoldAlg  Portability  nonportable  Stability  experimental  Maintainer  generics@haskell.org 





Description 
A variant of fold that allows the specification of the algebra in a
convenient way.


Synopsis 




The type family of convenient algebras.


type family Alg f s r ix :: *  Source 

The type family we use to describe the convenient algebras.



type Algebra s r = forall ix. Ix s ix => s ix > Alg (PF s) s r ix  Source 

The algebras passed to the fold have to work for all index types
in the system. The additional witness argument is required only
to make GHC's typechecker happy.


The class to turn convenient algebras into standard algebras.



The class fold explains how to convert a convenient algebra
Alg back into a function from functor to result, as required
by the standard fold function.
  Methods  alg :: Ix s ix => Alg f s r ix > f s r ix > r ix  Source 

  Instances  


Interface



Variant of fold that takes an additional witness argument.



Fold with convenient algebras.


Construction of algebras



For constructing algebras that are made of nested pairs rather
than nary tuples, it is helpful to use this pairing combinator.


Produced by Haddock version 2.4.2 