-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Generic cellular data representation library
--
-- This library defines a trivial type used for streaming of tabular data
-- using coinductive control structures such as pipes, conduit or
-- iteratees with a guaranteed constant memory usage. In this structure,
-- each cell of data is annotated with information about its
-- relation to the following cell in the stream, namely end of
-- cell, end of row and end of table conditions. In
-- addition, in order to achieve truly-constant memory usage irrespective
-- of individual cell size, we allow individual cells to be subdivided
-- further into parts, as indicated by the end of part
-- condition. Logically, this subdivision into parts is supposed to be
-- purely operational and have no semantic significance, similarly to
-- subdivision of lazy bytestrings into chunks.
@package data-cell
@version 1.0.0.1
-- | In this structure, each cell of data is annotated with
-- information about its relation to the following cell in the stream,
-- namely end of cell, end of row and end of table
-- conditions. In addition, in order to achieve truly-constant memory
-- usage irrespective of individual cell size, we allow individual cells
-- to be subdivided further into parts, as indicated by the end
-- of part condition. Logically, this subdivision into parts is
-- supposed to be purely operational and have no semantic significance,
-- similarly to subdivision of lazy bytestrings into chunks.
module Data.Cell
-- | Type used to represent individual data cells.
data Cell a
[Cell] :: a -> CellDelimiter -> Cell a
-- | Cell delimiter
data CellDelimiter
-- | end of a partial cell content
[EOP] :: CellDelimiter
-- | end of a complete data cell
[EOC] :: CellDelimiter
-- | end of a complete row of cells
[EOR] :: CellDelimiter
-- | end of an entire table
[EOT] :: CellDelimiter
instance Show a => Show (Cell a)
instance Ord a => Ord (Cell a)
instance Eq a => Eq (Cell a)
instance Enum CellDelimiter
instance Show CellDelimiter
instance Ord CellDelimiter
instance Eq CellDelimiter
instance Functor Cell