The non-empty package
We provide the data type
NonEmpty that allows to store a list-like structure
with at least or exactly
n is fixed in the type in a kind of Peano encoding
and is usually small.
The datatype is intended to increase safety
by making functions total that are partial on plain lists.
E.g. on a non-empty list,
tail are always defined.
There are more such data types like
NonEmpty you can define a list type
for every finite set of admissible list lengths.
The datatype can be combined with Lists, Sequences and Sets
The package needs only Haskell 98.
semigroupoids: restricted to lists, minimum number of elements: 1, provides more type classes tailored to the use of non-empty lists.
NonEmptyList: restricted to lists, minimum number of elements: 1
NonEmpty: restricted to lists, minimum number of elements: 1, designed for unqualified use of identifiers
Stream: Lists that contain always infinitely many elements.
fixed-list: Uses the same data structure as this package but is intended for fixing the number of elements in a list. Requires multi-parameter type classes with functional dependencies.
|Versions||0.0, 0.1, 0.1.1, 0.1.2, 0.1.3, 0.2, 0.2.1, 0.3|
|Dependencies||base (==4.*), containers (>=0.4 && <0.6), QuickCheck (>=2.1 && <3), utility-ht (>=0.0.1 && <0.1) [details]|
|Author||Henning Thielemann <email@example.com>|
|Maintainer||Henning Thielemann <firstname.lastname@example.org>|
|Source repo||this: darcs get http://code.haskell.org/~thielema/non-empty --tag 0.1.3
head: darcs get http://code.haskell.org/~thielema/non-empty
|Uploaded||Sat Jun 15 19:49:01 UTC 2013 by HenningThielemann|
|Distributions||LTSHaskell:0.3, NixOS:0.3, Stackage:0.3, openSUSE:0.3|
|Downloads||2814 total (29 in the last 30 days)|
|Rating||(no votes yet) [estimated by rule of succession]|
|Status||Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI
For package maintainers and hackage trustees