Combinator library for splitting lists.
A collection of various methods for splitting lists into parts, akin to the "split" function found in several mainstream languages. Here is its tale:
Once upon a time the standard Data.List
module held no function for splitting a list into parts according to a delimiter. Many a brave lambda-knight strove to add such a function, but their striving was in vain, for Lo, the Supreme Council fell to bickering amongst themselves what was to be the essential nature of the One True Function which could cleave a list in twain (or thrain, or any required number of parts).
And thus came to pass the split package, comprising divers functions for splitting a list asunder, each according to its nature. And the Supreme Council had no longer any grounds for argument, for the favored method of each was contained therein.
To get started, see the Data.List.Split
module.
List splitting
Data.List.Split
provides a wide range of strategies and a unified combinator framework for splitting lists with respect to some sort of delimiter. See https://hackage.haskell.org/package/split/docs/Data-List-Split.html to get started using it.
Dependencies
There are no dependencies other than the base package. Data.List.Split
is currently tested with versions of GHC from 7.0 up through 9.6. It is completely Haskell2010 (probably also Haskell98) compliant, so it probably builds with other compilers as well.
The tests in Properties.hs
depend on QuickCheck
>= 2.4, but you don't need it in order to build the library itself, only to run the tests.