
6 Jul
2008
6 Jul
'08
7:55 p.m.
mfeathers:
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.
Besides, splitAt n xs = (take n xs, drop n xs) -- Don