2011/1/21 Aaron Bedra <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> 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=> Cheers, -- Laurent -- 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