Safe Haskell | None |
---|---|
Language | Haskell2010 |
User-friendly, type safe, runtime efficient tooling for working with tabular data deserialized from comma-separated values (CSV) files. The type of each row of data is inferred from data, which can then be streamed from disk, or worked with in memory.
- module Data.Vinyl
- module Data.Vinyl.CoRec
- module Data.Vinyl.Lens
- module Data.Vinyl.TypeLevel
- module Frames.Col
- module Frames.ColumnUniverse
- module Frames.CSV
- module Frames.Exploration
- module Frames.Frame
- inCoreAoS :: (PrimMonad m, MonadIO m, MonadMask m, RecVec rs) => Producer (Record rs) (SafeT m) () -> m (FrameRec rs)
- inCoreAoS' :: (PrimMonad m, MonadIO m, MonadMask m, RecVec rs) => (Rec ((->) Int) rs -> Rec ((->) Int) ss) -> Producer (Record rs) (SafeT m) () -> m (FrameRec ss)
- inCore :: (PrimMonad m, MonadIO m, MonadMask m, RecVec rs, Monad n) => Producer (Record rs) (SafeT m) () -> m (Producer (Record rs) n ())
- inCoreSoA :: (PrimMonad m, MonadIO m, MonadMask m, RecVec rs) => Producer (Record rs) (SafeT m) () -> m (Int, Rec ((->) Int) rs)
- toAoS :: Int -> Rec ((->) Int) rs -> FrameRec rs
- toFrame :: (Foldable f, RecVec rs) => f (Record rs) -> Frame (Record rs)
- filterFrame :: RecVec rs => (Record rs -> Bool) -> FrameRec rs -> FrameRec rs
- module Frames.Melt
- module Frames.Rec
- module Frames.RecF
- module Frames.RecLens
- module Frames.TypeLevel
- module Pipes.Safe
- runSafeEffect :: (MonadIO m, MonadMask m) => Effect (SafeT m) r -> m r
- data Text :: *
Documentation
module Data.Vinyl
module Data.Vinyl.CoRec
module Data.Vinyl.Lens
module Data.Vinyl.TypeLevel
module Frames.Col
module Frames.ColumnUniverse
module Frames.CSV
module Frames.Exploration
module Frames.Frame
inCoreAoS :: (PrimMonad m, MonadIO m, MonadMask m, RecVec rs) => Producer (Record rs) (SafeT m) () -> m (FrameRec rs) Source #
Stream a finite sequence of rows into an efficient in-memory
representation for further manipulation. Each column of the input
table will be stored optimally based on its type, making use of the
resulting generators a matter of indexing into a densely packed
representation. Returns a Frame
that provides a function to index
into the table.
inCoreAoS' :: (PrimMonad m, MonadIO m, MonadMask m, RecVec rs) => (Rec ((->) Int) rs -> Rec ((->) Int) ss) -> Producer (Record rs) (SafeT m) () -> m (FrameRec ss) Source #
inCore :: (PrimMonad m, MonadIO m, MonadMask m, RecVec rs, Monad n) => Producer (Record rs) (SafeT m) () -> m (Producer (Record rs) n ()) Source #
Stream a finite sequence of rows into an efficient in-memory representation for further manipulation. Each column of the input table will be stored optimally based on its type, making use of the resulting generator a matter of indexing into a densely packed representation.
inCoreSoA :: (PrimMonad m, MonadIO m, MonadMask m, RecVec rs) => Producer (Record rs) (SafeT m) () -> m (Int, Rec ((->) Int) rs) Source #
Stream a finite sequence of rows into an efficient in-memory
representation for further manipulation. Each column of the input
table will be stored optimally based on its type, making use of the
resulting generators a matter of indexing into a densely packed
representation. Returns the number of rows and a record of column
indexing functions. See toAoS
to convert the result to a Frame
which provides an easier-to-use function that indexes into the
table in a row-major fashion.
toAoS :: Int -> Rec ((->) Int) rs -> FrameRec rs Source #
Convert a structure-of-arrays to an array-of-structures. This can simplify usage of an in-memory representation.
filterFrame :: RecVec rs => (Record rs -> Bool) -> FrameRec rs -> FrameRec rs Source #
Keep only those rows of a FrameRec
that satisfy a predicate.
module Frames.Melt
module Frames.Rec
module Frames.RecF
module Frames.RecLens
module Frames.TypeLevel
module Pipes.Safe