ClojureDocs

Nav

Namespaces

Clojure/Conj 2026 — Charlotte, NC — Sept 30 - Oct 2 Learn More & Get Tickets →

swap-vals!

clojure.core

Available since 1.9 (source)
  • (swap-vals! atom f)
  • (swap-vals! atom f x)
  • (swap-vals! atom f x y)
  • (swap-vals! 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 [old new], the value of the atom before and after the swap.