ClojureDocs

Nav

Namespaces

swap!

clojure.core

Available since 1.0 (source)
  • (swap! atom f)
  • (swap! atom f x)
  • (swap! atom f x y)
  • (swap! atom f x y & args)
Atomically swaps the value of atom to be:
(apply f current-value-of-atom args). Note that f may be called
multiple times, and thus should be free of side effects.  Returns
the value that was swapped in.