Hi Ambrose,
I liked your core.logic video very much!
But no the code doeen't seem to work:
(defmacro aTest []
`(~'defn ~'aFun [^{:tag ~'long} ~'b ] (meta ~'b) ))
and I also tried:
(defmacro aTest []
(list 'defn 'aFun (vector (with-meta 'b {:tag long})) '(meta b)))
before
(aFun 8) yields nil
So I think the type hint are not on the param
Am Mittwoch, 18. Juli 2012 14:18:21 UTC+2 schrieb Ambrose Bonnaire-Sergeant:
> Hi John,
>
> The type hint ^long expands to ^{:tag long}.
>
> So something like this should do the trick (untested).
>
> (defmacro aTest []
> `(~'defn ~'aFun [^{:tag '~'long ~'b ] (meta ~'b) ))
>
> Thanks,
> Ambrose
>
>
> Hello,
>> how do I get primitive typ hints to appear in the output of a macro?
>>
>> like :
>> (defmacro aTest []
>> `(~'defn ~'aFun [^long ~'b ] (meta ~'b) ))
>>
>> (macroexpand-1 '(aTest))
>> yields :
>>
>> (aFun 7)
>> (macroexpand-1 '(aTest))
>> yields :
>>
>> (defn aFun [b] (clojure.core/meta b))
>>
>> but I wold like it to be :
>> (defn aFun [^long b] (clojure.core/meta b))
>>
>> Many greetings
>> John
>>
>>
>>
>
>
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en