CPS.hs
1 cfold' func init [] = init 2 cfold' func init (first:rest) = func first init (\init_ -> cfold' func init_ rest) 3 4 cfold func init lst = cfold' (\first_ init_ cont_ -> func first_ (cont_ init_)) init lst 5 6 cmap' func [] = [] 7 cmap' func (first:rest) = func first : (cmap' func rest)