
On 4/26/12 3:52 PM, Roman Cheplyaka wrote:
* Tillmann Rendel
[2012-04-26 21:34:21+0200] Hi,
Sjoerd Visscher wrote:
Just as there's a Foldable class, there should also be an Unfoldable class. This package provides one:
class Unfoldable t where unfold :: Unfolder f => f a -> f (t a)
Just to be sure: That's not a generalization of Data.List.unfoldr, or is it somehow?
It seems to be -- see https://github.com/sjoerdvisscher/unfoldable/blob/master/src/Data/Unfoldable...
(although that is much more complicated than Data.List.unfoldr)
I must admit I'm a bit weirded out by the (Bounded a, Enum a) restriction on the Either, tuple, and Constant instances. Why not just use Unfoldable a, or have a class specifically devoted to unfolding * types? -- Live well, ~wren