While looking through the List module, I came across
The unfoldr function undoes a foldr operation. Note that, in general,
only invertible functions can be unfolded.
[followed by an equation about undoing foldr]
This is quite inadequate: unfoldr is very useful with non-invertible
functions. I suggest something like:
The unfoldr function is a `dual' to foldr: while foldr reduces a list
to a summary value, unfoldr builds a list from a seed value, e.g.,
iterate f == unfoldr (\x -> Just (x, f x))
In some cases unfoldr can undo a foldr operation:
[followed by the existing equation]
_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell