-- 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