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.