split: Combinator library for splitting lists.

[ bsd3, library, list ] [ Propose Tags ]

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.

[Skip to Readme]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Versions [RSS] 0.1, 0.1.1, 0.1.2,,,, 0.1.3, 0.1.4,,,,,,,,, 0.2.2, 0.2.3,,,,,
Change log CHANGES
Dependencies base (<5) [details]
License BSD-3-Clause
Copyright (c) Brent Yorgey, Louis Wasserman 2008-2012
Author Brent Yorgey
Maintainer byorgey@gmail.com
Category List
Bug tracker https://github.com/byorgey/split/issues
Source repo head: git clone http://github.com/byorgey/split.git
Uploaded by BrentYorgey at 2022-08-11T16:02:17Z
Distributions Arch:, Debian:, Fedora:, FreeBSD:0.2.2, LTSHaskell:, NixOS:, Stackage:, openSUSE:
Reverse Dependencies 529 direct, 6637 indirect [details]
Downloads 230583 total (354 in the last 30 days)
Rating 2.25 (votes: 2) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2022-08-11 [all 1 reports]

Readme for split-

[back to package description]
Data.List.Split provides a wide range of strategies and a unified
combinator framework for splitting lists with respect to some sort of



  There are no dependencies other than the base package.
  Data.List.Split has been tested with versions of GHC from 6.8.3 up
  through 9.0.1.  It is completely Haskell2010 (probably also
  Haskell98) compliant, so it probably builds with other compilers as

  The Properties.hs file depends on QuickCheck >= 2.4, but you don't
  need it in order to build the library itself, only to run the tests.

Build with Cabal:

    cabal install

Building Haddock documentation (recommended):

    cabal haddock

  Once the documentation has been built, you can access it by 
  pointing your browser to dist/doc/html/split/index.html.

Running the tests:

  cabal configure --enable-tests && cabal build && cabal test