Claus Reinke wrote:
> a. Ease of implementation should never be the first argument;-)
No. Speed should be. I do use MVars a lot via the UniForM workbench,
and the most important thing is to have something simple and lightweight
that can be built upon. If I were offered a 100% increase in functionality
in exchange for a 10% slowdown, I would refuse it.
The fact is that MVars are rightly incredibly primitive. If you are doing
anything advanced with concurrency you need a better way of communicating,
such as channels, or the first-class events that Einar Karlsen put into the
UniForM workbench. But both these can be built easily from MVars.