Your solution takes successive sublists from [1..] So, this will do: takeSubL [] _ = [] takeSubL (x:xs) ys = take x ys : takeSubL xs (drop x ys) *Main> takeSubL [3, 1, 4, 2] [1..] [[1,2,3],[4],[5,6,7,8],[9,10]]
Powered by HAppS. Copyright (c) 2007 glguy @ #haskell. Source via darcs.