> That said, I'd rather make sure that my low-level data structures are being
> operated on by only one implementation.
You could use closures to encapsulate the refs/atoms ...
(let [car-mem (ref nil)]
(defn set-car-mem [new-car-mem]
(dosync (ref-set car-mem new-car-mem)))
(defn update-car-mem [new-car-mem]
(dosync (set-car-mem new-car-mem)))
(defn get-car-mem [] @car-mem))
user=> (set-car-mem 0)
user=> (get-car-mem)
0
user=> @car-mem
java.lang.Exception: Unable to resolve symbol: car-mem in this context
(NO_SOURCE_FILE:0)
(note that you need a do-sync around ref-set - your code didn't have one.)
-Rgds, Adrian
--
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