q4c12-twofinger: Efficient alternating finger trees

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain]

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]

Properties

Versions0, 0.0.0.1, 0.0.0.2, 0.0.0.2, 0.1, 0.2
Change logCHANGELOG.markdown
Dependenciesbase (>=4.9.1.0 && <4.11), bifunctors (>=5.4.2 && <5.6), deepseq (>=1.4.3.0 && <1.5), QuickCheck (>=2.10.1 && <2.11), semigroupoids (>=5.2.1 && <5.3), streams (==3.3.*) [details]
LicenseBSD-2-Clause
Authorquasicomputational <quasicomputational@gmail.com>
Maintainerquasicomputational <quasicomputational@gmail.com>
CategoryData Structures
Home pagehttps://github.com/quasicomputational/mega/tree/master/packages/twofinger
Bug trackerhttps://github.com/quasicomputational/mega/issues
Source repositoryhead: git clone https://github.com/quasicomputational/mega
UploadedFri Dec 8 22:17:01 UTC 2017 by quasicomputational

Modules

[Index]

Downloads

Maintainers' corner

For package maintainers and hackage trustees


Readme for q4c12-twofinger-0.0.0.2

[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.