 EdisonCore1.2.1.1: A library of efficent, purelyfunctional data structures (Core Implementations)  Source code  Contents  Index 

Data.Edison.Concrete.FingerTree  Portability  nonportable (MPTCs and functional dependencies)  Stability  internal (nonstable)  Maintainer  robdockins AT fastmail DOT fm 



Description 
A general sequence representation with arbitrary annotations, for
use as a base for implementations of various collection types, as
described in section 4 of
This data structure forms the basis of the Data.Edison.Seq.FingerSeq
sequence data structure.
An amortized running time is given for each operation, with n
referring to the length of the sequence. These bounds hold even in
a persistent (shared) setting.


Synopsis 



Documentation 


Finger trees with element type a, annotated with measures of type v.
The operations enforce the constraint Measured v a.
 Instances  






O(1). The empty sequence.



O(1). A singleton sequence.



O(1). Add an element to the left end of a sequence.



O(1). Add an element to the right end of a sequence.



O(log(min(n1,n2))). Concatenate two sequences.



O(n). Create a sequence from a finite list of elements.





O(1). Is this the empty sequence?





O(1). Analyse the left end of a sequence.



O(1). Analyse the right end of a sequence.



O(log(min(i,ni))). Split a sequence at a point where the predicate
on the accumulated measure changes from False to True.









O(n). The reverse of a sequence.
















Produced by Haddock version 2.3.0 