It looks very similar to the pattern I was trying to avoid in the first place. I've also got the problem of multiple threads (and its been pointed out that my original solution was not thread safe). In my experience bugs of an 'extremely rare but could conceivably happen' nature are the sort of thing that appear years after deployment when nobody understands the fine detail of a system any more. I'm speculating of course but its the kind of thing that brought down the UKs Air Traffic Control system with a 'never before seen' bug just last week. ' On Saturday, December 13, 2014 12:37:28 PM UTC, Sergey Didenko wrote: > > Some people use vars for seldom changing things. What do you think > about this VS atoms? > > For example: > > (declare ^:dynamic *server*) > > (defn get-possibly-unbound-var [v] > (try (var-get v) > (catch Exception e > nil))) > > (defn start-server! [] > (if (get-possibly-unbound-var *server*) > (.start *server*) > (def ^:dynamic *server* > (run-jetty #'app {:port 8000 :join? false})))) >
-- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.