1. Scala certainly has a better in-place lambda syntax. Way better.
//; someNumbers is a vector of numbers
someNumbers.reduceLeft( _ + _ )
(reduce #(+ %1 %2) someNumbers)
//; A more complex example
someNumbers.foldLeft(0)(_ + _ * 2)
(reduce #(+ %1 (* 2 %2)) 0 someNumbers)
I'm fluent in prefix notation, but I still have to watch the clojure code that uses #() very carefully.
2. I think that Macros By Example would be a better tool for teaching macro than the raw compiler extensions that defmacro provides. MBE is easier, not harder. Defmacro is the machinery, not the interface for most tasks.
3. I won't name names, but I've had high-profile people in #clojure do exactly this to me. And when I barked back, I was told to not be rude. It was a terrible experience caused by a prominent member of #clojure who otherwise seems like a smart individual. I've since received commiserations from people who have faced similar condemnations.
(note: added simplified example)