On Fri, Nov 13, 2009 at 11:26 PM, Mike Hogye <stacktra...@gmail.com> wrote:
> Why is there an easy way to def a private function (defn-), but no
> similarly easy way to def an arbitrary var as private?


The way I see it, def- would encourage gratuitous variable declaration
imperative style.

By private var what one means is a local variable.

If you want a private variable use a let binding:

(let [my-private-var "Something not to be shared"]
  (defn my-public-fn
    "Do something"
    [a b]
    (str a b my-private-var)))

If you need the private variable to be mutable, use a ref and dosync
changes on it. That goes a long way towards correctness.

Albert
--
http://albert.rierol.net

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