On 8 Jan 2011, at 15:27, Henning Thielemann wrote:


On Sat, 8 Jan 2011, Conor McBride wrote:

On 8 Jan 2011, at 11:14, Henning Thielemann wrote:

For me, the solutions of Dave Menendez make most sense: Generalize Maybe to Foldable and List to MonadPlus.

What has it to do with monads? There's no bind in sight.

I see a '>>=' in front of each of his expressions.

That'll teach me to wake up first. Sorry.

If you have some m (f x), and you make an (m x) from each
inner x, then you do need something joiny.

Of course, there is an alternative generalisation.

[] and Maybe are both Foldable, hence so is their composition.

There's got to be a thing of type

  collapse :: (Foldable f, Alternative a) => f x -> a x

which would do the job.

Of course, anything which is both foldable and alternative
certainly has a function with the type of join.

Cheers

Conor


_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to