folds: Beautiful Folding

[ bsd3, comonads, data, enumerator, library ] [ Propose Tags ]

This package is a playground full of comonadic folds.

This style of fold is documented in "Cellular Automata, Part II: PNGs and Moore"

This package can be seen as what happens if you chase Max Rabkin's "Beautiful Folding" to its logical conclusion.

More information on this approach can be found in the "Another lovely example of type class morphisms" and "More beautiful fold zipping" posts by Conal Elliott, as well as in Gabriel Gonzales' "Composable Streaming Folds"

[Skip to Readme]
Versions [RSS] [faq] 0.1, 0.2, 0.3,, 0.6, 0.6.1, 0.6.2, 0.6.3, 0.7, 0.7.1, 0.7.2, 0.7.3, 0.7.4, 0.7.5, 0.7.6
Change log CHANGELOG.markdown
Dependencies adjunctions (>=4.2 && <5), base (==4.*), bifunctors (>=4 && <6), comonad (>=4 && <6), constraints (>=0.4 && <1), contravariant (>=0.4.2 && <2), data-reify (==0.6.*), distributive (>=0.3 && <1), lens (==4.*), mtl (==2.2.*), pointed (>=4 && <6), profunctors (==5.*), reflection (>=1.3 && <3), semigroupoids (>=4 && <6), semigroups (>=0.8 && <1), tagged (>=0.7 && <1), transformers (>=0.3 && <0.6), unordered-containers (==0.2.*), vector (>=0.10 && <0.13) [details]
License BSD-3-Clause
Copyright Copyright (C) 2009-2013 Edward A. Kmett
Author Edward A. Kmett
Maintainer Edward A. Kmett <>
Revised Revision 1 made by EricMertens at 2017-01-30T17:29:07Z
Category Data, Comonads, Enumerator
Home page
Bug tracker
Source repo head: git clone git://
Uploaded by EricMertens at 2016-02-26T19:42:41Z
Distributions LTSHaskell:0.7.6, NixOS:0.7.6, Stackage:0.7.6
Downloads 10459 total (34 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user
Build status unknown [no reports yet]



Manual Flags

Automatic Flags

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees


Readme for folds-0.7.1

[back to package description]


Hackage Build Status

A playground for working with different kinds of comonadic folds.

Contact Information

Contributions and bug reports are welcome!

Please feel free to contact me through github or on the #haskell IRC channel on

-Edward Kmett