Great! Thanks all for your explanations.

On Wednesday, January 27, 2016 at 4:33:40 AM UTC-8, gianluca torta wrote:
>
> Hi Dan,
>
>
> And, if I understand correctly, what was really happening with the macro 
>> bar was that in ('+ 2 'u), '+ was looking itself up in 2, not finding 
>> itself, and so returning the default value 'u. This was the expansion of 
>> the macro, and so at run time, it was bound to 10.
>>
>>
> exactly, indeed one would expect that the list:
> ('+ 2 'u)
>
> would throw an exception, since the first element does not evaluate to a 
> macro/function
>
> however, Clojure allows the use of symbols (in this case, '+) as functions 
> that lookup themselves into the collection that follows
>
> this special syntax does not apply to numbers:
> (1 2 'u)
> ;=> ClassCastException java.lang.Long cannot be cast to clojure.lang.IFn  
> user/eval7633 (form-init2468783434806143559.clj:1)
>
> cheers,
> Gianluca
>

-- 
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
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to