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
-~----------~----~----~----~------~----~------~--~---

Reply via email to