As if Reactive and Reagent weren't enough reminders of chemistry. Now we have volatile too! Sheesh.
Sent from my iPhone > On Jun 23, 2015, at 7:57 AM, Jamie Orchard-Hays <jamie...@gmail.com> wrote: > > "volatile" is a great choice of name. It sounds like a warning, as well as > indicating that is mutable. BE AWARE WHAT YOU'RE DOING WITH ME, I CAN BE > DANGEROUS! > > :) > > Jamie > >> On Jun 22, 2015, at 9:20 PM, Marc Fawzi <marc.fa...@gmail.com> wrote: >> >> Ah! Thank you very much for this explanation!! >> >> Sent from my iPhone >> >>>> On Jun 22, 2015, at 4:40 PM, Francis Avila <fav...@breezeehr.com> wrote: >>>> >>>> On Monday, June 22, 2015 at 5:09:49 PM UTC-5, marc fawzi wrote: >>>> It's what I had imagined. So is it fair to say that what is idomatic in >>>> Clojure may not be idiomatic in ClojureScript? >>> >>> ClojureScript itself uses volatile! in all its stateful transducer >>> implementations (just like Clojure), which is a pretty strong argument that >>> it is idiomatic cljs. >>> >>>> The negligible advantage it offers in ClojureScript does not justify >>>> losing the functionality of the atom IMO but I may be wrong >>> >>> >>> Volatile is used in precisely those circumstances where the additional >>> features of atom should *not* be used. Not merely aren't needed, but should >>> be prohibited from use because the state it holds is not meant to be >>> shared. Validation and notification are features to facilitate sharing >>> state. >>> >>> This is to me the advantage it has over an atom in cljs: it makes clear >>> that this is a mutable local that is not meant to escape to the caller or >>> provide access to shared state. Volatile says "mutation for speed, not for >>> shared access." Atoms do not signal that by themselves because they are >>> meant for shared access. >>> >>> -- >>> Note that posts from new members are moderated - please be patient with >>> your first post. >>> --- >>> You received this message because you are subscribed to the Google Groups >>> "ClojureScript" group. >>> To unsubscribe from this group and stop receiving emails from it, send an >>> email to clojurescript+unsubscr...@googlegroups.com. >>> To post to this group, send email to clojurescript@googlegroups.com. >>> Visit this group at http://groups.google.com/group/clojurescript. >> >> -- >> Note that posts from new members are moderated - please be patient with your >> first post. >> --- >> You received this message because you are subscribed to the Google Groups >> "ClojureScript" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to clojurescript+unsubscr...@googlegroups.com. >> To post to this group, send email to clojurescript@googlegroups.com. >> Visit this group at http://groups.google.com/group/clojurescript. > > -- > Note that posts from new members are moderated - please be patient with your > first post. > --- > You received this message because you are subscribed to the Google Groups > "ClojureScript" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojurescript+unsubscr...@googlegroups.com. > To post to this group, send email to clojurescript@googlegroups.com. > Visit this group at http://groups.google.com/group/clojurescript. -- Note that posts from new members are moderated - please be patient with your first post. --- You received this message because you are subscribed to the Google Groups "ClojureScript" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojurescript+unsubscr...@googlegroups.com. To post to this group, send email to clojurescript@googlegroups.com. Visit this group at http://groups.google.com/group/clojurescript.