Gary Verhaegen <gary.verhae...@gmail.com> writes: > As Meikel said in his previous mail, 'do' at the top-level is treated > specially: each form is treated as a separate top-level form. This is, for > example, useful for defining a macro that defines multiple functions.
I'd be interested to see an example, where this behaviour is important. It is certainly producing a negative effect here. Or perphaps I should say it is covering up a negative effect; given that the compiler is capable of understanding that (def bob3 3) introduces a new symbol, I am struggling to see why (intern 'user 'bob3 3) cannot be recognised similarly. > So what Meikel was really trying to say is that the reason (do (intern > 'user 'bob3 3) bob3) works is that it is treated the same as > (intern 'user 'bob3 3) > bob3 > > This special handling only occurs when do appears as a top-level form, > which is the reason why your other examples fail. I did manage to work out why they failed (although only be inference), but the exceptional behaviour of do confused me as it confounds the explanation. I'm happy that I understand now the situation. Still think it's a bug. Phil -- -- 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/groups/opt_out.