A representation of a sequence of values of type a, allowing
access to the ends in constant time, and append and split in time
logarithmic in the size of the smaller piece.
The collection is also parameterized by a measure type v, which
is used to specify a position in the sequence for the split operation.
The types of the operations enforce the constraint Measured v a,
which also implies that the type v is determined by a.
A variety of abstract data types can be implemented by using different element types and measurements.
Instances14Measured, Foldable, Eq, Ord, Show, Generic, …
Measured v a => Measured v (FingerTree v a)Defined in hw-fingertree-0.1.2.1 · HaskellWorks.Data.FingerTreeO(1). The cached measure of a tree.
Foldable (FingerTree v)Defined in hw-fingertree-0.1.2.1 · HaskellWorks.Data.FingerTreeEq a => Eq (FingerTree v a)Defined in hw-fingertree-0.1.2.1 · HaskellWorks.Data.FingerTreeOrd a => Ord (FingerTree v a)Defined in hw-fingertree-0.1.2.1 · HaskellWorks.Data.FingerTreeShow a => Show (FingerTree v a)Defined in hw-fingertree-0.1.2.1 · HaskellWorks.Data.FingerTreeGeneric (FingerTree v a)Defined in hw-fingertree-0.1.2.1 · HaskellWorks.Data.FingerTreeMeasured v a => Semigroup (FingerTree v a)Defined in hw-fingertree-0.1.2.1 · HaskellWorks.Data.FingerTreeMeasured v a => Monoid (FingerTree v a)Defined in hw-fingertree-0.1.2.1 · HaskellWorks.Data.FingerTree(NFData a, NFData v) => NFData (FingerTree v a)Defined in hw-fingertree-0.1.2.1 · HaskellWorks.Data.FingerTreeContainer (FingerTree v a)Defined in hw-fingertree-0.1.2.1 · HaskellWorks.Data.FingerTreeMeasured v a => Cons (FingerTree v a)Defined in hw-fingertree-0.1.2.1 · HaskellWorks.Data.FingerTreeO(1). Add an element to the left end of a sequence. Mnemonic: a triangle with the single element at the pointy end.
Measured v a => Snoc (FingerTree v a)Defined in hw-fingertree-0.1.2.1 · HaskellWorks.Data.FingerTreeO(1). Add an element to the right end of a sequence. Mnemonic: a triangle with the single element at the pointy end.
type Rep (FingerTree v a) = D1 ('MetaDataDefined in hw-fingertree-0.1.2.1 · HaskellWorks.Data.FingerTree"FingerTree"
"HaskellWorks.Data.FingerTree"
"hw-fingertree-0.1.2.1-4RlfqHsF52QAEmrFV4Rmwl"
'False) (C1 ('MetaCons"Empty"
'PrefixI 'False) U1 :+: (C1 ('MetaCons"Single"
'PrefixI 'False) (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)) :+: C1 ('MetaCons"Deep"
'PrefixI 'False) ((S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 v) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Digit a))) :*: (S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (FingerTree v (Node v a))) :*: S1 ('MetaSel 'Nothing 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Digit a))))))type Elem (FingerTree v a) = aDefined in hw-fingertree-0.1.2.1 · HaskellWorks.Data.FingerTree