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,,,,,, 0.2.4, 0.2.5
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 2024-01-11T16:34:00Z
Distributions Arch:0.2.5, Debian:, Fedora:, FreeBSD:0.2.2, LTSHaskell:0.2.5, NixOS:0.2.5, Stackage:0.2.5, openSUSE:0.2.5
Reverse Dependencies 536 direct, 7569 indirect [details]
Downloads 234509 total (436 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 2024-01-11 [all 1 reports]

Readme for split-0.2.5

[back to package description]

Build Status split release on Hackage

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.


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.