-- 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.1 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)] -- | Field Sorts data TField FStr :: TField FInt :: TField FDbl :: TField data Order Asc :: Order Dsc :: Order getCols :: Table -> [Field] getRows :: Table -> [[Field]] lookupCol :: Col -> RowInfo -> Field fromFile :: FilePath -> IO Table fromString :: FilePath -> String -> Table -- | Parsing toFile :: FilePath -> Table -> IO () instance GHC.Show.Show Data.CSV.Table.Types.Order instance GHC.Classes.Ord Data.CSV.Table.Types.Order instance GHC.Classes.Eq Data.CSV.Table.Types.Order instance GHC.Show.Show Data.CSV.Table.Types.TField instance GHC.Classes.Ord Data.CSV.Table.Types.TField instance GHC.Classes.Eq Data.CSV.Table.Types.TField 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 -> Table -- | Sort by a given column, and ordering sortBy :: Col -> TField -> Order -> Table -> Table project :: Table -> [Col] -> Table -- | Project to a particular column project1 :: Table -> Col -> [Field] hide :: Table -> [Col] -> Table -- | Swap two columns of a table moveColL :: Table -> Col -> Table -- | Map a function over all rows of a table mapRows :: (RowInfo -> a) -> Table -> [a] -- | Map a function over all rows of a table newColumn :: Col -> (RowInfo -> Field) -> Table -> Table 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