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 base (==4.*), comonad (>=3.1 && <4), contravariant (>=0.4.2 && <1), lens (>=3.9 && <4), pointed (==3.*), profunctors (>=3.3 && <4), reflection (>=1.3 && <2), semigroupoids (>=3.1 && <4), tagged (>=0.7 && <1), vector (==0.10.*) [details]
License BSD-3-Clause
Copyright Copyright (C) 2009-2013 Edward A. Kmett
Author Edward A. Kmett
Maintainer Edward A. Kmett <>
Category Data, Comonads, Enumerator
Home page
Bug tracker
Source repo head: git clone git://
Uploaded by EdwardKmett at 2013-09-08T04:35:27Z
Distributions LTSHaskell:0.7.6, NixOS:0.7.6, Stackage:0.7.6
Downloads 10454 total (46 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


Maintainer's Corner

For package maintainers and hackage trustees


Readme for folds-0.3

[back to package description]


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