>>> :set -XPostfixOperators >>> Data.List.Infinite.take 5 $ Data.List.Infinite.inits (0...) [[],[0],[0,1],[0,1,2],[0,1,2,3]]If you need reversed prefixes, they can be generated cheaper using scanl':
>>> :set -XPostfixOperators >>> Data.List.Infinite.take 5 $ Data.List.Infinite.scanl' (flip (:)) [] (0...) [[],[0],[1,0],[2,1,0],[3,2,1,0]]