grouped-list: Grouped lists. Equal consecutive elements are grouped.

[ bsd3, data, library ] [ Propose Tags ]
Change log
Dependencies base (>=4.8 && <4.11), binary, containers, deepseq, pointed, transformers [details]
License BSD-3-Clause
Author Daniel Díaz
Category Data
Home page
Bug tracker
Source repo head: git clone
Uploaded by DanielDiaz at Mon Mar 12 15:30:16 UTC 2018
Distributions LTSHaskell:, NixOS:, openSUSE:
Downloads 2113 total (77 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-03-12 [all 1 reports]
Hackage Matrix CI

Grouped lists work like regular lists, except for two conditions:

This mean that grouped lists are ideal for cases where the list has many repetitions (like [1,1,1,1,7,7,7,7,7,7,7,7,2,2,2,2,2], although they might present some deficiencies in the absent of repetitions.

[Skip to Readme]




Maintainer's Corner

For package maintainers and hackage trustees

Readme for grouped-list-

[back to package description]


Welcome to the grouped-list repository.

We are at an early stage of development, but contributions are more than welcome. If you are interested, feel free to submit a pull request.

What is this about?

This library defines the type of grouped lists, Grouped. Values of this type are lists with a finite number of elements. The only special feature is that consecutive elements that are equal on the list are internally represented as a single element annotated with the number of repetitions. Therefore, operations on lists that have many consecutive repetitions perform much better, and memory usage is reduced. However, this type is suboptimal for lists that do not have many consecutive repetitions. We are trying to ameliorate this.

Automatic build

Build Status