-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Typeclasses for dealing with various chunked data representations
--   
--   See docs and README at
--   <a>http://www.stackage.org/package/chunked-data</a>
@package chunked-data
@version 0.3.1


-- | Abstraction for different kinds of builders.
--   
--   Note that whenever a character encoding is used, it will be UTF8. For
--   different behavior, please use the underlying library.
module Data.Builder

-- | Since 0.1.0.0
type TextBuilder = Builder

-- | Since 0.1.0.0
type BlazeBuilder = Builder

-- | Since 0.3.0.0
type ByteStringBuilder = Builder

-- | Since 0.1.0.0
class Monoid builder => Builder builder lazy | builder -> lazy, lazy -> builder

-- | Since 0.1.0.0
builderToLazy :: Builder builder lazy => builder -> lazy

-- | Since 0.1.0.0
flushBuilder :: Builder builder lazy => builder

-- | Since 0.1.0.0
class ToBuilder value builder

-- | Since 0.1.0.0
toBuilder :: ToBuilder value builder => value -> builder

-- | Provided for type disambiguation in the presence of OverloadedStrings.
--   
--   Since 0.1.0.0
textToBuilder :: ToBuilder Text builder => Text -> builder
instance Data.Builder.Builder Data.ByteString.Builder.Internal.Builder Data.ByteString.Lazy.Internal.ByteString
instance Data.Builder.Builder Data.Text.Internal.Builder.Builder Data.Text.Internal.Lazy.Text
instance Data.Builder.ToBuilder Data.ByteString.Builder.Internal.Builder Data.ByteString.Builder.Internal.Builder
instance Data.Builder.ToBuilder Data.Text.Internal.Builder.Builder Data.Text.Internal.Builder.Builder
instance Data.Builder.ToBuilder Data.ByteString.Lazy.Internal.ByteString Data.ByteString.Builder.Internal.Builder
instance Data.Builder.ToBuilder Data.ByteString.Internal.Type.ByteString Data.ByteString.Builder.Internal.Builder
instance Data.Builder.ToBuilder GHC.Types.Char Data.ByteString.Builder.Internal.Builder
instance Data.Builder.ToBuilder GHC.Types.Char Data.Text.Internal.Builder.Builder
instance (a GHC.Types.~ GHC.Types.Char) => Data.Builder.ToBuilder [a] Data.ByteString.Builder.Internal.Builder
instance (a GHC.Types.~ GHC.Types.Char) => Data.Builder.ToBuilder [a] Data.Text.Internal.Builder.Builder
instance Data.Builder.ToBuilder Data.Text.Internal.Lazy.Text Data.ByteString.Builder.Internal.Builder
instance Data.Builder.ToBuilder Data.Text.Internal.Lazy.Text Data.Text.Internal.Builder.Builder
instance Data.Builder.ToBuilder Data.Text.Internal.Text Data.ByteString.Builder.Internal.Builder
instance Data.Builder.ToBuilder Data.Text.Internal.Text Data.Text.Internal.Builder.Builder


-- | Various zipping and unzipping functions for chunked data structures.
module Data.ChunkedZip
class Functor f => Zip (f :: Type -> Type)
zipWith :: Zip f => (a -> b -> c) -> f a -> f b -> f c
zip :: Zip f => f a -> f b -> f (a, b)
zap :: Zip f => f (a -> b) -> f a -> f b
unzip :: Zip f => f (a, b) -> (f a, f b)
class Functor f => Zip3 (f :: Type -> Type)
zipWith3 :: Zip3 f => (a -> b -> c -> d) -> f a -> f b -> f c -> f d
zip3 :: Zip3 f => f a -> f b -> f c -> f (a, b, c)
zap3 :: Zip3 f => f (a -> b -> c) -> f a -> f b -> f c
unzip3 :: Zip3 f => f (a, b, c) -> (f a, f b, f c)
class Functor f => Zip4 (f :: Type -> Type)
zipWith4 :: Zip4 f => (a -> b -> c -> d -> e) -> f a -> f b -> f c -> f d -> f e
zip4 :: Zip4 f => f a -> f b -> f c -> f d -> f (a, b, c, d)
zap4 :: Zip4 f => f (a -> b -> c -> d) -> f a -> f b -> f c -> f d
unzip4 :: Zip4 f => f (a, b, c, d) -> (f a, f b, f c, f d)
class Functor f => Zip5 (f :: Type -> Type)
zipWith5 :: Zip5 f => (a -> b -> c -> d -> e -> g) -> f a -> f b -> f c -> f d -> f e -> f g
zip5 :: Zip5 f => f a -> f b -> f c -> f d -> f e -> f (a, b, c, d, e)
zap5 :: Zip5 f => f (a -> b -> c -> d -> e) -> f a -> f b -> f c -> f d -> f e
unzip5 :: Zip5 f => f (a, b, c, d, e) -> (f a, f b, f c, f d, f e)
class Functor f => Zip6 (f :: Type -> Type)
zipWith6 :: Zip6 f => (a -> b -> c -> d -> e -> g -> h) -> f a -> f b -> f c -> f d -> f e -> f g -> f h
zip6 :: Zip6 f => f a -> f b -> f c -> f d -> f e -> f g -> f (a, b, c, d, e, g)
zap6 :: Zip6 f => f (a -> b -> c -> d -> e -> g) -> f a -> f b -> f c -> f d -> f e -> f g
unzip6 :: Zip6 f => f (a, b, c, d, e, g) -> (f a, f b, f c, f d, f e, f g)
class Functor f => Zip7 (f :: Type -> Type)
zipWith7 :: Zip7 f => (a -> b -> c -> d -> e -> g -> h -> i) -> f a -> f b -> f c -> f d -> f e -> f g -> f h -> f i
zip7 :: Zip7 f => f a -> f b -> f c -> f d -> f e -> f g -> f h -> f (a, b, c, d, e, g, h)
zap7 :: Zip7 f => f (a -> b -> c -> d -> e -> g -> h) -> f a -> f b -> f c -> f d -> f e -> f g -> f h
unzip7 :: Zip7 f => f (a, b, c, d, e, g, h) -> (f a, f b, f c, f d, f e, f g, f h)
instance Data.ChunkedZip.Zip3 []
instance Data.ChunkedZip.Zip3 Data.Sequence.Internal.Seq
instance Data.ChunkedZip.Zip3 Data.Vector.Vector
instance Data.ChunkedZip.Zip4 []
instance Data.ChunkedZip.Zip4 Data.Sequence.Internal.Seq
instance Data.ChunkedZip.Zip4 Data.Vector.Vector
instance Data.ChunkedZip.Zip5 []
instance Data.ChunkedZip.Zip5 Data.Vector.Vector
instance Data.ChunkedZip.Zip6 []
instance Data.ChunkedZip.Zip6 Data.Vector.Vector
instance Data.ChunkedZip.Zip7 []
instance (Data.ChunkedZip.Zip f, Data.ChunkedZip.Zip g) => Data.ChunkedZip.Zip (Data.Functor.Compose.Compose f g)
instance Data.ChunkedZip.Zip ((->) a)
instance Data.ChunkedZip.Zip m => Data.ChunkedZip.Zip (Control.Monad.Trans.Identity.IdentityT m)
instance Data.ChunkedZip.Zip Data.IntMap.Internal.IntMap
instance Data.ChunkedZip.Zip []
instance Data.ChunkedZip.Zip GHC.Internal.Base.NonEmpty
instance Data.ChunkedZip.Zip m => Data.ChunkedZip.Zip (Control.Monad.Trans.Reader.ReaderT e m)
instance Data.ChunkedZip.Zip Data.Sequence.Internal.Seq
instance Data.ChunkedZip.Zip Data.Tree.Tree
instance Data.ChunkedZip.Zip Data.Vector.Vector

module Data.IOData

-- | Data which can be read to and from files and handles.
--   
--   Note that, for lazy sequences, these operations may perform lazy I/O.
class IOData a
readFile :: (IOData a, MonadIO m) => FilePath -> m a
writeFile :: (IOData a, MonadIO m) => FilePath -> a -> m ()
getLine :: (IOData a, MonadIO m) => m a
hGetContents :: (IOData a, MonadIO m) => Handle -> m a
hGetLine :: (IOData a, MonadIO m) => Handle -> m a
hPut :: (IOData a, MonadIO m) => Handle -> a -> m ()
hPutStrLn :: (IOData a, MonadIO m) => Handle -> a -> m ()
hGetChunk :: (IOData a, MonadIO m) => Handle -> m a
instance Data.IOData.IOData Data.ByteString.Lazy.Internal.ByteString
instance Data.IOData.IOData Data.ByteString.Internal.Type.ByteString
instance (GHC.Types.Char GHC.Types.~ c) => Data.IOData.IOData [c]
instance Data.IOData.IOData Data.Text.Internal.Lazy.Text
instance Data.IOData.IOData Data.Text.Internal.Text
