On Tue, Aug 4, 2009 at 1:32 PM, John Newman<john...@gmail.com> wrote:
>
> I'm a noob, so this is probably a dumb question but, how does this work with
> closures?  Can transients be closed over?
>
> Like,
>
>> (defn make-transient-counter [init-val]
>>   (let [acounter (transient [init-val])]
>>     (fn [add-val] (assoc! acounter 0 (+ add-val (nth acounter 0))))))
>
> Is that possible?  And if so, what are the thread-safety implications (if
> any)?
> ...
> Oh, I just re-read the description page where Rich says,
>
>> Not persistent, so you can't hang onto interim values or alias
>
> So, would the above code throw an exception?
>

No, it wouldn't (currently), but there is no reason to do that. There
are the reference types for sharing things into unknown contexts, with
multithreaded semantics. Refs, atoms etc.

Rich

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