Generic finger-tree structure, with example instances

Version on this page:
LTS Haskell 11.1:
Stackage Nightly 2018-03-23:
Latest on Hackage:

See all snapshots fingertree appears in

BSD3 licensed
Maintained by Ross Paterson

Module documentation for

There are no documented modules for this package.

A general sequence representation with arbitrary annotations, for use as a base for implementations of various collection types, with examples, as described in section 4 of

For a tuned sequence type, see Data.Sequence in the containers package, which is a specialization of this structure.


-*-change-log-*- Ross Paterson <> Dec 2017
* Fixed Data.IntervalMap.FingerTree.bounds Ross Paterson <> Nov 2017
* Fixed Show instance for IntervalMap
* Added bounds, leastView and splitAfter to IntervalMap Ross Paterson <> Oct 2017
* Fix for GHC <= 7.8 Ross Paterson <> Oct 2017
* Removed constraint on the type of null
* Added versions of fmap and traverse passing the measures of both sides
* Added new search function, a symmetrical generalization of split
* Added Eq, Ord and Show instances for IntervalMap and PriorityQueue
* Made low and high into separate functions
* Updated for Monoid, Foldable, Traversable in Prelude
* Made compatible with Semigroup/Monoid proposal Ross Paterson <> Jun 2015
* Added Safe for GHC >= 7.2
* Added AutoDeriveTypeable for GHC >= 7.10 Ross Paterson <> Mar 2015
* Cabal file updates Ross Paterson <> Feb 2015
* fix warnings Ross Paterson <> Jun 2013
* Added Monoid instance for IntervalMap
* Removed unnecessary Measured v a constraints on Eq, Ord, and Show instances Ross Paterson <> Sep 2012
* Cabal file updates Ross Paterson <> Jul 2009
* Added Data.IntervalMap.FingerTree and Data.PriorityQueue.FingerTree

0.0 Ross Paterson <> May 2007
* Initial revision
comments powered byDisqus