On 01/21/2011 09:22 AM, Laurent PETIT wrote:
2011/1/21 Aaron Bedra <aaron.be...@gmail.com
<mailto:aaron.be...@gmail.com>>
On 01/21/2011 12:51 AM, Ken Wesson wrote:
On Fri, Jan 21, 2011 at 12:40 AM, Alex Baranosky
<alexander.barano...@gmail.com
<mailto:alexander.barano...@gmail.com>> wrote:
I've wanted to have private defs. For defn, I just us
defn-. But there is
no def-
So I just use:
(defmacro def- [name& decls]
(list* `def (with-meta name (assoc (meta name)
:private true)) decls))
There's a (defvar- ...) in clojure.contrib. Why there's
nothing like
this in core remains a mystery to me. :)
You can also do
(def foo {:private true} (...))
With def, it will be :
user=> (def ^{:private true} foo "ba")
#'user/foo
user=> (meta (var foo))
{:ns #<Namespace user>, :name foo, :file "NO_SOURCE_PATH", :line 4,
:private true}
user=>
It's with defn that you can use a map at a certain position:
user=> (defn foo {:private true} [] "bar")
#'user/foo
user=> (meta (var foo))
{:ns #<Namespace user>, :name foo, :file "NO_SOURCE_PATH", :line 7,
:arglists ([]), :private true}
user=>
Doh! I'm full of typos this week. Do a combination of what I meant and
what Laurent said and you'll be in a good place.
Cheers,
Aaron Bedra
--
Clojure/core
http://clojure.com
--
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