The "won't terminate" part is due to background threads being created by the
call to pmap, and by default it will wait 60 seconds before exiting. If you
don't wait that long, it definitely appears like it is hung. If you look on
the ClojureDocs entry for pmap, the last example says to see the
I'm trying to learn a bit about Clojure and it's concurrency features but
I've hit an issue at an early point, where the same program exhibits
different behavior if run within the REPL or from a regular file. This is
the code I'm running:
(def foo (atom 0))
(pmap
(fn [_] (swap! foo inc))