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

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 (<4.7) [details]
License BSD-3-Clause
Copyright (c) Brent Yorgey, Louis Wasserman 2008-2012
Author Brent Yorgey
Maintainer byorgey@cis.upenn.edu
Category List
Bug tracker http://code.google.com/p/byorgey/issues/list?q=Project:split
Source repo head: darcs get http://code.haskell.org/~byorgey/code/split
Uploaded by BrentYorgey at 2012-08-21T18:14:57Z
Distributions Arch:, Debian:, Fedora:, FreeBSD:0.2.2, LTSHaskell:, NixOS:, Stackage:, openSUSE:
Downloads 226540 total (339 in the last 30 days)
Rating 2.25 (votes: 2) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

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 GHC 6.8.3 and 6.10.1, but it
  will likely work with older versions of GHC and other Haskell
  compilers as well.

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

Build with Cabal:

    cabal install --prefix=$HOME --user

  Or, if you don't have the 'cabal' tool:
    runhaskell Setup.lhs configure --prefix=$HOME --user
    runhaskell Setup.lhs build
    runhaskell Setup.lhs install

  (Optionally, you can omit the --prefix and --user arguments to the
  configure step, and run the install step with 'sudo' in order to
  install the library systemwide.)

Building Haddock documentation (recommended):

    runhaskell Setup.lhs haddock

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