
24 Mar
2009
24 Mar
'09
7:29 p.m.
| As an example, with the takeList function I posted.
I looked at it, found nothing wrong with the original, and absolutely hated your "fixed" version. I might have written it like this, instead:
~ buildPartitions xs ns = zipWith take ns . init . scanl (flip drop) xs $ ns
Maybe it's just me, but I think that takeList ns xs = evalState (mapM (State . splitAt) ns) xs or even takeList = evalState . map (State . splitAt) would be much clearer than both versions.