Name: non-empty Version: 0.1.3 License: BSD3 License-File: LICENSE Author: Henning Thielemann Maintainer: Henning Thielemann Homepage: http://code.haskell.org/~thielema/non-empty/ Category: Data Synopsis: List-like structures with static restrictions on the number of elements Description: 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: . * @semigroups@, @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 . * @Cardinality@:@NeverEmptyList@ . * . Related packages: . * @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. Tested-With: GHC==7.4.1 Cabal-Version: >=1.6 Build-Type: Simple Source-Repository this Tag: 0.1.3 Type: darcs Location: http://code.haskell.org/~thielema/non-empty Source-Repository head Type: darcs Location: http://code.haskell.org/~thielema/non-empty Library Build-Depends: containers >=0.4 && <0.6, utility-ht >=0.0.1 && <0.1, QuickCheck >=2.1 && <3, base >=4 && <5 GHC-Options: -Wall Hs-Source-Dirs: src Exposed-Modules: Data.NonEmpty Data.NonEmpty.Class Data.NonEmpty.Mixed Data.Empty Data.Optional Data.Zip Other-Modules: Data.NonEmptyPrivate