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


-- | Constructing and dissecting IFF files
--   
--   The Interchange File Format of Electronic Arts is a container format
--   used for many kinds of data. Common file formats are e.g. IFF-8SVX for
--   8-bit sampled sounds and IFF-ILBM for images in an interleaved way
--   that is close to image representation in Amiga computers. Cf.
--   <a>http://netghost.narod.ru/gff/vendspec/iff/index.htm</a> This
--   library does only handle the IFF container format and does not handle
--   any specific IFF data type. The intention is the same as of Amiga's
--   <tt>iffparse.library</tt>. See
--   <a>http://wiki.amigaos.net/index.php/IFFParse_Library</a>.
@package iff
@version 0.0.6


-- | ToDo:
--   
--   Lazy read and write.
--   
--   Problem on writing: If the length of data is computed lazily, then you
--   must seek back to the file position where the size is stored. That is
--   for writing of lazily generated data we need a seekable file device.
module Data.IFF
data T
Cons :: ChunkId -> Chunk -> T
[chunkId] :: T -> ChunkId
[chunk] :: T -> Chunk
data Chunk
Form :: [T] -> Chunk
[parts] :: Chunk -> [T]
List :: [T] -> [T] -> Chunk
[props] :: Chunk -> [T]
[parts] :: Chunk -> [T]
Cat :: [T] -> Chunk
[parts] :: Chunk -> [T]
Prop :: [T] -> Chunk
[parts] :: Chunk -> [T]
Chunk :: ByteString -> Chunk
[content] :: Chunk -> ByteString
data ChunkId
chunkIdFromString :: String -> ChunkId
chunkIdToString :: ChunkId -> String
fromByteString :: ByteString -> Maybe T
toByteString :: T -> ByteString
instance GHC.Classes.Eq Data.IFF.ChunkId
instance GHC.Show.Show Data.IFF.T
instance GHC.Show.Show Data.IFF.Chunk
instance Data.Binary.Class.Binary Data.IFF.T
instance GHC.Show.Show Data.IFF.ChunkId
