Compares and sets the value of the Ref
if and only if it is eq
to the
specified value.
Compares and sets the value of the Ref
if and only if it is eq
to the
specified value. Returns whether or not the ref was modified.
Reads the value from the Ref
.
Atomically modifies the Ref
with the specified function, which computes
a return value for the modification.
Atomically modifies the Ref
with the specified function, which computes
a return value for the modification. This is a more powerful version of
update
.
Writes a new value to the Ref
, with a guarantee of immediate
consistency (at some cost to performance).
Writes a new value to the Ref
without providing a guarantee of
immediate consistency.
Attempts to write a new value to the Ref
, but aborts immediately under
concurrent modification of the value by other fibers.
Atomically modifies the Ref
with the specified function.
Atomically modifies the Ref
with the specified function. This is not
implemented in terms of modify
purely for performance reasons.
A mutable atomic reference for the
IO
monad. This is theIO
equivalent of a volatilevar
, augmented with atomic operations, which make it useful as a reasonably efficient (if low-level) concurrency primitive.