-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Scripts for manipulating tables stored as CSV files -- -- Scripts for manipulating tables, e.g. filter, join, etc. stored as CSV -- files @package csv-table @version 0.1.0.0 module Data.CSV.Table.Types -- | Types data Table T :: Int -> [Col] -> [Row] -> Table [dim] :: Table -> Int [cols] :: Table -> [Col] [body] :: Table -> [Row] newtype Row R :: [Field] -> Row newtype Col C :: Field -> Col type RowInfo = [(Col, Field)] getCols :: Table -> [Field] getRows :: Table -> [[Field]] lookupCol :: Col -> RowInfo -> Field fromFile :: FilePath -> IO Table -- | Parsing toFile :: FilePath -> Table -> IO () instance GHC.Show.Show Data.CSV.Table.Types.Row instance GHC.Classes.Ord Data.CSV.Table.Types.Row instance GHC.Classes.Eq Data.CSV.Table.Types.Row instance GHC.Show.Show Data.CSV.Table.Types.Col instance GHC.Classes.Ord Data.CSV.Table.Types.Col instance GHC.Classes.Eq Data.CSV.Table.Types.Col instance GHC.Show.Show Data.CSV.Table.Types.Table module Data.CSV.Table.Ops -- | Join two tables by first column (which should be unique) join :: Table -> Table -> Table -- | Join two tables by any unique column joinBy :: Col -> Table -> Table -> Table -- | Join two tables by first column, using default row for missing keys padJoin :: Row -> Table -> Table -> Table -- | Join two tables by any unique column, using default row for missing -- keys padJoinBy :: Col -> Row -> Table -> Table -> Table -- | Differences of two tables by first column diff :: Table -> Table -> Table -- | Differences of two tables by any column diffBy :: Col -> Table -> Table -> Table index :: Table -> Map Field [Field] indexBy :: Table -> Col -> Map Field [Field] -- | Sort table by a particular column sortBy :: Table -> Col -> Table project :: Table -> [Col] -> Table -- | Project to a particular column project1 :: Table -> Col -> [Field] -- | Swap two columns of a table moveColL :: Table -> Col -> Table -- | Map a function over all rows of a table mapRows :: (RowInfo -> a) -> Table -> [a] module Data.CSV.Table.Email data Email E :: String -> String -> [String] -> String -> String -> String -> Bool -> Email [uid] :: Email -> String [to] :: Email -> String [cc] :: Email -> [String] [sender] :: Email -> String [subject] :: Email -> String [text] :: Email -> String [send] :: Email -> Bool sendMail :: Table -> (RowInfo -> Email) -> IO () instance GHC.Show.Show Data.CSV.Table.Email.Email module Data.CSV.Table