If monads are single/linearly threaded, doesn't that reduce parallelism?

In what exact sense are monads "single threaded", and of which exactly
parallelism are you talking about?
2010/2/10
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- Eugene Kirpichov Web IR developer, market.yandex.ru

Monads are not commutative. A structure that would tell the compiler that it's commutative, would give it more leeway for optimization (and parallel execution).

On Tue, 9 Feb 2010 21:56:49 +0000, you wrote:
Monads are not commutative. A structure that would tell the compiler that it's commutative, would give it more leeway for optimization (and parallel execution).
Thank you. "Not commutative" was the phrase I was looking for. -- Regards, Casey

Perhaps if you search for Abelian Monad or so, you will find interesting things in the category theory literature. Some of them may be transplantable to Haskell --- but you probably don't want a completely commutative structure. Arrows seem to express the dependencies between operations more fine-grained than the sequencing that Monads require. (I meant to look into arrows for ages..) Matthias.
participants (4)
-
Casey Hawthorne
-
caseyh@istar.ca
-
Eugene Kirpichov
-
Matthias Görgens