stm-orelse-io-0.1: Choose between the return value of an STM operation and an IO action.

Safe HaskellSafe-Inferred



Perform an IO action, and place its result in a TMVar. See also Control.Concurrent.MVarIO for an MVar version.



run :: IO a -> IO (TMVar a)Source

run action returns a TMVar immediately. The result of action will be placed in said TMVar. If the TMVar is full when action completes, the return value is lost (i.e. we do not wait for an empty TMVar).