Documentation
class MonoidalAnn f whereSource
build an empty Annotation
appendAnn :: Rope -> f a -> Rope -> f b -> f cSource
append two annotations, based on their corresponding ropes
MonoidalAnn Unit | |
(MonoidalAnn f, MonoidalAnn g) => MonoidalAnn (:*: f g) |
class MonoidalAnn f => PackableAnn f whereSource
construct an Annotation
from a Rope
out of whole cloth
snocAnn :: Int -> Rope -> f a -> f bSource
The Rope
has been updated to contains n more bytes on the right than the one used to build the Annotation
, update the Annotation
consAnn :: Int -> Rope -> f a -> f bSource
The Rope
contains n more bytes on the left than the one used to build the Annotation
, update the Annotation
PackableAnn Unit | |
(PackableAnn f, PackableAnn g) => PackableAnn (:*: f g) |
class BreakableAnn f whereSource
splitAtAnn :: Int -> Rope -> f a -> (f b, f c)Source
split an Annotation
about a Rope
into two annotations, one about the first n bytes, the other about the remainder
takeAnn :: Int -> Rope -> f a -> f bSource
truncate the Annotation
to length
n
dropAnn :: Int -> Rope -> f a -> f bSource
drop the first n bytes from the Annotation
BreakableAnn Unit | |
(BreakableAnn f, BreakableAnn g) => BreakableAnn (:*: f g) |