non-empty: List-like structures with static restrictions on the number of elements

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain]

We provide the data type NonEmpty that allows to store a list-like structure with at least or exactly n elements, where 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, head and tail are always defined.

There are more such data types like Optional and Empty. Together with 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 (from the containers package).

The package needs only Haskell 98.

Similar packages:

Related packages:

Properties

Versions0.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.0.1
Change logNone available
Dependenciesbase (==4.*), containers (>=0.4 && <0.7), deepseq (>=1.3 && <1.5), QuickCheck (>=2.1 && <3), utility-ht (>=0.0.8 && <0.1) [details]
LicenseBSD-3-Clause
AuthorHenning Thielemann <haskell@henning-thielemann.de>
MaintainerHenning Thielemann <haskell@henning-thielemann.de>
CategoryData
Home pagehttp://hub.darcs.net/thielema/non-empty/
Source repositorythis: darcs clone http://hub.darcs.net/thielema/non-empty/ --tag 0.3.0.1
head: darcs clone http://hub.darcs.net/thielema/non-empty/
UploadedThu Jul 19 16:07:57 UTC 2018 by HenningThielemann

Modules

[Index]

Downloads

Maintainers' corner

For package maintainers and hackage trustees