Chris Kuklewicz wrote:
> inits' = helper id
> where helper f [] = (f []):[]
> helper f (x:xs) = (f []):helper (f.(x:)) xs
This one looks nice, maybe the helper should be changed to allow "head $
inits' undefined":
helper f xs = f [] : case xs of
[] -> []
x : r -> helper (f . (x :)) r
C.