rope-0.6.4: Tools for manipulating fingertrees of bytestrings with optional annotations

Safe HaskellNone

Data.Rope.Unsafe

Contents

Synopsis

Annotations

Constructors

data Branded brand t a Source

type Ann f s = (s `Branded` Rope) (f s)Source

Unpacking Ropes

unpack :: Unpackable t => Branded s Rope a -> [t]Source

Building Annotated Rope

append :: MonoidalAnn f => Ann f a -> Ann f b -> Ann f UnsafeSource

snoc :: (PackableAnn f, Packable t) => Ann f a -> t -> Ann f UnsafeSource

cons :: (PackableAnn f, Packable t) => t -> Ann f a -> Ann f UnsafeSource

Cutting An Annotated Rope

drop :: BreakableAnn f => Int -> Ann f a -> Ann f UnsafeSource

take :: BreakableAnn f => Int -> Ann f a -> Ann f UnsafeSource

break :: (BreakableAnn f, Breakable t) => (t -> Bool) -> Ann f a -> (Ann f Unsafe, Ann f Unsafe)Source

span :: (BreakableAnn f, Breakable t) => (t -> Bool) -> Ann f a -> (Ann f Unsafe, Ann f Unsafe)Source

takeWhile :: (BreakableAnn f, Breakable t) => (t -> Bool) -> Ann f a -> Ann f UnsafeSource

dropWhile :: (BreakableAnn f, Breakable t) => (t -> Bool) -> Ann f a -> Ann f UnsafeSource

Inspecting the ends of the Rope