> No, I'm looking for a copy meta routine.
>
> The mysterious defmeta macro does this, in one call.
>
> (defmeta a map)
>
> (= (meta (var a)) (meta map))
This will do what you want, but I would not advise using it:
(defmacro def-with-meta [symbol init]
`(let [m# (meta ~init)]
(def ~symbol
No, I'm looking for a copy meta routine.
The mysterious defmeta macro does this, in one call.
(defmeta a map)
(= (meta (var a)) (meta map))
On Oct 31, 4:20 pm, Mark Rathwell wrote:
> def already adds metadata on the symbol as metadata on the var. Did
> you need more than this (below)?
>
> use
def already adds metadata on the symbol as metadata on the var. Did
you need more than this (below)?
user> (def ^{:doc "foo"} x [1 2 3])
#"user/x
user> (meta (var x))
{:ns #, :name x, :doc "foo", :line 1, :file "NO_SOURCE_FILE"}
user> (doc x)
-
user/x
foo
nil
user> (d
Okay, then I need a hand with something then. I'm trying to come up
with a macro that does the following:
(defmacro def-with-meta ...) -> You supply this
(def-with-meta symbol init)
(= (meta (var symbol)) (meta init)) -> True
Any suggestions folks?
Sean Devlin
On Oct 31, 2:59 pm, Mark Rathwe
It uses (meta (var common/basic-logger)).
On Mon, Oct 31, 2011 at 2:28 PM, Sean Devlin wrote:
> I'm a bit confused by what the doc macro is doing. Doesn't it simply
> work of the metadata of what is passed to it?
>
> I try this at the REPL:
>
> user=> (doc common/basic-logger)
>
I'm a bit confused by what the doc macro is doing. Doesn't it simply
work of the metadata of what is passed to it?
I try this at the REPL:
user=> (doc common/basic-logger)
-
decorators.common/basic-logger
nil
nil
nil
For the following item:
user=> (meta common/basic-l