[Haskell-cafe] Is there a nicer way to do this?

Michael Feathers mfeathers at mindspring.com
Sun Jul 6 19:45:53 EDT 2008

segment :: Int -> [a] -> [[a]]
segment 0 _ = []
segment _ [] = []
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.


More information about the Haskell-Cafe mailing list