[Haskell-cafe] Is there a nicer way to do this?
dons at galois.com
Sun Jul 6 19:55:27 EDT 2008
> segment :: Int -> [a] -> [[a]]
> segment 0 _ = 
> segment _  = 
> segment n x = (take n x) : segment n (drop n x)
The first set of parens can go,
segment n x = take n x : segment n (drop n x)
> I did a version of this which used splitAt but I wasn't sure whether it
> was going to buy me anything re performance that would justify its ugliness.
splitAt n xs = (take n xs, drop n xs)
More information about the Haskell-Cafe