Name: non-empty Version: 0.3.0.1 License: BSD3 License-File: LICENSE Author: Henning Thielemann Maintainer: Henning Thielemann Homepage: http://hub.darcs.net/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@ . * @mono-traversable@:@Data.MinLen@: allows to specify a minimum number of elements using type families and works also for monomorphic data structures like 'ByteString' . * . Related packages: . * @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. Tested-With: GHC==7.4.2, GHC==7.6.3, GHC==7.8.4, GHC==7.10.1 Cabal-Version: >=1.6 Build-Type: Simple Source-Repository this Tag: 0.3.0.1 Type: darcs Location: http://hub.darcs.net/thielema/non-empty/ Source-Repository head Type: darcs Location: http://hub.darcs.net/thielema/non-empty/ Library Build-Depends: containers >=0.4 && <0.7, deepseq >=1.3 && <1.5, utility-ht >=0.0.8 && <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.NonEmpty.Match Data.NonEmpty.Set Data.NonEmpty.Map Data.Empty Data.Optional Data.Append Data.Zip Other-Modules: Data.NonEmpty.Foldable Data.NonEmptyPrivate Data.NonEmptyTest