On Jun 18, 2011, at 7:16 AM, Stuart Halloway wrote:

> To access a private var, simply deref through the var:
> 
> @#'some-ns/some-private-var

As Rich noted here: http://groups.google.com/group/clojure/msg/513367afb934d41b 
, when the var names a function and it's used in an expression emitted from a 
macro, prefer invoking the var:

        (#'some-ns/some-private-var some args)

over invoking the function to which it is currently bound:

        (@#'some-ns/some-private-var some args)

Perhaps the coding standards could be updated along these lines:

•To call a private function in another namespace (e.g., for testing), use a 
form like: (#'some.ns/some-fn some args)
•To access the value bound to a private var in another namespace (e.g., for 
testing), use an expression like: @#'some.ns/some-var

--Steve

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