non-empty: List-like structures with static restrictions on the number of elements
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
Data.MinLen: allows to specify a minimum number of elements using type families and works also for monomorphic data structures like
Stream: Lists that contain always infinitely many elements.
fixed-length: Uses the data structure of this package and defines a closed-world class for fixed-length lists and an according index type.
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 [faq]||0.0, 0.1, 0.1.1, 0.1.2, 0.1.3, 0.2, 0.2.1, 0.3, 0.3.0.1, 0.3.1|
|Dependencies||base (==4.*), containers (>=0.4.2 && <0.6), deepseq (>=1.3 && <1.5), QuickCheck (>=2.1 && <3), utility-ht (>=0.0.8 && <0.1) [details]|
|Author||Henning Thielemann <email@example.com>|
|Maintainer||Henning Thielemann <firstname.lastname@example.org>|
|Revised||Revision 2 made by HerbertValerioRiedel at Sun Jan 6 09:34:48 UTC 2019|
|Source repo||this: darcs get http://hub.darcs.net/thielema/non-empty/ --tag 0.3
head: darcs get http://hub.darcs.net/thielema/non-empty/
|Uploaded||by HenningThielemann at Thu Sep 1 17:25:58 UTC 2016|
|Distributions||LTSHaskell:0.3.1, NixOS:0.3.1, Stackage:0.3.1|
|Downloads||4193 total (90 in the last 30 days)|
|Rating||(no votes yet) [estimated by rule of succession]|
Docs available [build log]
Last success reported on 2016-09-01 [all 1 reports]
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'.
For package maintainers and hackage trustees