MVar package:lifted-base

An MVar (pronounced "em-var") is a synchronising variable, used for communication between concurrent threads. It can be thought of as a a box, which may be empty or full.
Generalized version of isEmptyMVar.
Generalized version of mkWeakMVar. Note any monadic side effects in m of the "finalizer" computation are discarded.
Generalized version of modifyMVar.
Generalized version of modifyMVarMasked.
Generalized version of modifyMVarMasked_.
Generalized version of modifyMVar_.
Generalized version of newEmptyMVar.
Generalized version of newMVar.
Generalized version of putMVar.
Generalized version of readMVar.
Generalized version of swapMVar.
Generalized version of takeMVar.
Generalized version of tryPutMVar.
Generalized version of tryReadMVar.
Generalized version of tryTakeMVar.
Generalized version of withMVar.
Generalized version of withMVarMasked.