On Fri, Sep 18, 2009 at 8:34 AM, Mark Volkmann <[email protected]>wrote:
> On Thu, Sep 17, 2009 at 5:22 PM, John Harrop <[email protected]> wrote: > > On Thu, Sep 17, 2009 at 3:06 PM, Mark Volkmann < > [email protected]> > > wrote: > >> > >> On Thu, Sep 17, 2009 at 1:43 PM, z5h <[email protected]> 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 [email protected] Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---
