On Fri, Sep 18, 2009 at 8:34 AM, Mark Volkmann <r.mark.volkm...@gmail.com>wrote:
> On Thu, Sep 17, 2009 at 5:22 PM, John Harrop <jharrop...@gmail.com> wrote: > > On Thu, Sep 17, 2009 at 3:06 PM, Mark Volkmann < > r.mark.volkm...@gmail.com> > > wrote: > >> > >> On Thu, Sep 17, 2009 at 1:43 PM, z5h <bolusm...@gmail.com> wrote: > >> > > >> > Specifically some problems encountered in Clojure's STM and bytecode > >> > generation. > >> > > >> > > >> > > http://www.azulsystems.com/events/javaone_2009/session/2009_J1_JVMLang.pdf > >> > (Slide's 8 and 20-21) > >> > >> Slide 20 - Should say "Nothing mutable by default" and "One kind of > >> mutable, Refs, guarded by STM" > > > > There are three more kinds of mutable: atoms, agents, and mutable Java > > objects. Of those, the latter are to be avoided where possible though, > and > > only agents are also guarded by STM in any manner. > > Agents are not guarded by STM. It is Refs that can only be modified in > a transaction. There is a connection between Agents and STM though. If > you send an action to an Agent within a transaction, it won't actually > be sent until changes to Refs in the transaction have been committed. That is what I meant by "in any manner"; that there's some interaction with STM. In the case of agents there's no "guarding" outside of a transaction context, whereas refs cannot be modified outside of a transaction so are "guarded" all the time in some sense. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---