How can I evaluate a list of (impure) functions in Clojure? For instance:
[#(println \"1\") #(println \"2\") #(println \"3\")]
The expected
(apply pcalls [#(println "1") #(println "2") #(println "3")]) does just that. Just be wary of pcalls' parallelism (therefore lack of sequentiality) and lazyness.
(apply pcalls [#(println "1") #(println "2") #(println "3")])
pcalls