Frames-0.6.1: test/Chunks.hs
{-# LANGUAGE DataKinds, FlexibleContexts, QuasiQuotes,
TemplateHaskell, TypeApplications #-}
module Chunks where
import Frames
import Frames.InCore (frameChunks, produceFrameChunks)
import Pipes ((>->))
import qualified Pipes.Prelude as P
tableTypes "Row" "test/data/prestige.csv"
getEducation :: Row -> Double
getEducation = rgetField @Education
chunkInCore :: IO [Double]
chunkInCore = do
rows <- inCoreAoS (readTable "test/data/prestige.csv")
let chunks = frameChunks 10 rows
return $ map (getEducation . flip frameRow 0) chunks
chunkStream :: IO [Double]
chunkStream = runSafeT . P.toListM $
produceFrameChunks 10 (readTable "test/data/prestige.csv")
>-> P.map (getEducation . flip frameRow 0)