On Wed, Jun 04, 2003 at 11:15:30AM -0700, Hal Daume III wrote: > > I'm trying to figure if there's any way I can use (say) monads to collect > > values from a Functor. > > > > For example, suppose I have a tree of some values that supports fmap, is > > there any way I can use the fmap function to collect a list of all the node > > values? > > No, you need a fold to do that.
Or a variant of Functor constructor class that I have proposed some time ago on comp.lang.functional: class FunctorM t where fmapM :: Monad m => (a -> m b) -> (t a -> m (t b)) fmapM_ :: Monad m => (a -> m b) -> (t a -> m ()) fmapM_ f t = fmapM f t >> return () instance FunctorM [] where fmapM = mapM fmapM_ = mapM_ Best regards, Tom -- .signature: Too many levels of symbolic links _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell