
Pretty cool once you know what the function does, but I must admit I
wouldn't immediately guess the purpose of the function when written in
this way.
2009/3/24 Miguel Mitrofanov
| 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. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- Eugene Kirpichov Web IR developer, market.yandex.ru