q4c12-twofinger: Efficient alternating finger trees

[ bsd2, data-structures, library ] [ Propose Tags ]

This package provides efficient alternating sequences based on finger trees. These can represent sequences made up of two types of element, e and a where two of the same type of element cannot follow each other directly.

Four different flavours are provided, isomorphic to ([(a, e)], a), ([(e, a)], e), [(a, e)], and [(e, a)].

Cons-like operations are O(1) amortised, and append operations are O(log(min(n, m))) amortised.

For more details, please see the Haddock documentation of Q4C12.TwoFinger.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0, 0.0.0.1, 0.0.0.2, 0.1, 0.2
Change log CHANGELOG.markdown
Dependencies base (>=4.9.1.0 && <4.11), bifunctors (>=5.4.2 && <5.5), deepseq (>=1.4.3.0 && <1.5), QuickCheck (>=2.10.1 && <2.11), semigroupoids (>=5.2.1 && <5.3), streams (>=3.3 && <3.4) [details]
License BSD-2-Clause
Author quasicomputational <quasicomputational@gmail.com>
Maintainer quasicomputational <quasicomputational@gmail.com>
Category Data Structures
Home page https://github.com/quasicomputational/mega/tree/master/packages/twofinger
Bug tracker https://github.com/quasicomputational/mega/issues
Source repo head: git clone https://github.com/quasicomputational/mega
Uploaded by quasicomputational at 2017-12-08T21:23:32Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 2919 total (18 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2017-12-08 [all 1 reports]

Readme for q4c12-twofinger-0.0.0.1

[back to package description]

This package provides efficient alternating sequences based on finger trees. These can represent sequences made up of two types of element, e and a where two of the same type of element cannot follow each other directly.

Four different flavours are provided, isomorphic to ([(a, e)], a), ([(e, a)], e), [(a, e)], and [(e, a)].

Cons-like operations are O(1) amortised, and append operations are O(log(min(n, m))) amortised.

For more details, please see the Haddock documentation of Q4C12.TwoFinger.