> I think if Clojure could do something like this (enforce a certain
> kind of referentially transparent mutable local), that would be neat,

It is possible to achieve this behavior explicitly:
(defn create-add-2 []
  (with-local-vars [x 1]
    (do
      (var-set x 2)
      (let [z @x]
        (fn [y] (+ y z))))))
(def myc (create-add-2))
user=> (myc 1)
3
user=> (myc 2)
4

A bit verbose, but also very clear about what is really mutable and
what isn't.


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