chickadee » clojurian » atom-swap!

atom-swap! atom proc #!rest argsprocedure

Atomically swaps the value of atom to be (apply proc (atom-value atom) args). Because proc may be called multiple times it must be free of side-effects. Returns the new value of atom.