The church-list package

[Tags: library, mit]

Replicates the Data.List interface for lists built around the type forall r. Monoid r => (a -> r) -> r. This allows for O(1) concatenation and snoc, just as difference lists do, but without requiring that every operation (such as map) render the list.

As motivation: Although difference lists are great for use with Writer, they are horrible for use with State, because getting the list and querying an element will result in producing a structure which is thrown away. With mlists, you can both append to, and inspect, the list in progress without any wasted work.


Versions0.0.1, 0.0.2
Dependenciesbase (>=3 && <5)
AuthorJohn Wiegley
Source repositoryhead: git clone git://
UploadedSat May 3 07:28:53 UTC 2014 by JohnWiegley
Downloads238 total (29 in last 30 days)
StatusDocs available [build log]
Successful builds reported [all 1 reports]




Maintainers' corner

For package maintainers and hackage trustees