module Data.Rope
(
Rope
, length
, null
, Reducer(..)
, Annotation(..)
, elide
, splitAt
, take
, drop
, Unpackable(..)
, Packable(..)
, empty
, fromByteString
, fromChunks
, fromLazyByteString
, fromWords
, fromChar
, fromWord8
, fromString
, toChunks
, toLazyByteString
, toString
) where
import Prelude hiding (null,head,length,drop,take,splitAt, last)
import Data.Rope.Internal
( Rope
, empty
, length
, null
, fromChunks
, fromByteString
, fromLazyByteString
, fromWords
, fromChar
, fromWord8
, fromString
, toLazyByteString
, Packable(..)
, Annotation(..)
, elide, splitAt, take, drop)
import Data.Rope.Unpackable (Unpackable(..))
import Data.Rope.Util.Reducer (Reducer(..))
import Data.ByteString (ByteString)
toString :: Rope m -> String
toString = unpack
toChunks :: Rope m -> [ByteString]
toChunks = unpack