Safe Haskell | None |
---|---|
Language | Haskell98 |
Automatic deadlock prevention.
Automatic deadlock detection is inefficient, and computations cannot be rolled back or aborted in general.
Instead, we prevent deadlocks before they happen.
Documentation
The Res arrow.
Computations are built with these constructors (and the arrow interface). The implementation guarantees progress provided: * Pieces of the arrow that hold locks are finitely examinable, * threads are programmed to eventually release a lock they hold, * locks are the only source of deadlock, * and all locks are used only with the Acq and Rel ctors (which acquire and release a lock resp.).