bayes-stack-0.2.0.1: Data/Sequence/Chunk.hs
module Data.Sequence.Chunk (chunk) where
import Data.Sequence as SQ
-- | 'chunk n xs' splits 'xs' into 'n' chunks
chunk :: Int -> Seq a -> Seq (Seq a)
chunk n xs = let m = ceiling $ realToFrac (SQ.length xs) / realToFrac n
f xs | SQ.null xs = SQ.empty
f xs = SQ.take m xs <| (f $ SQ.drop m xs)
in f xs