Cabal-Version: 2.2 Name: non-empty Version: 0.3.5 License: BSD-3-Clause License-File: LICENSE Author: Henning Thielemann Maintainer: Henning Thielemann Homepage: https://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 Build-Type: Simple Extra-Source-Files: Makefile Source-Repository this Tag: 0.3.5 Type: darcs Location: https://hub.darcs.net/thielema/non-empty/ Source-Repository head Type: darcs Location: https://hub.darcs.net/thielema/non-empty/ Library Build-Depends: containers >=0.4 && <0.7, deepseq >=1.3 && <1.6, utility-ht >=0.0.8 && <0.1, QuickCheck >=2.1 && <3, base >=4 && <5 Default-Language: Haskell98 GHC-Options: -Wall Hs-Source-Dirs: src Exposed-Modules: Data.FixedLengthList 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 Test-Suite non-empty-test Type: exitcode-stdio-1.0 Main-Is: Main.hs Default-Language: Haskell98 GHC-Options: -Wall Hs-source-dirs: test Build-Depends: non-empty, containers, utility-ht >=0.0.16, doctest-exitcode-stdio >=0.0 && <0.1, QuickCheck, base Other-Modules: Test.Data.NonEmpty.Map Test.Data.NonEmptyPrivate