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

[ bsd3, data, library ] [ Propose Tags ]

We provide a data type 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.

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.

[Index]

• Data