I would like to know why most Common Lisp code I see has things like
(mapcar #'(lambda (x) (* x x)) '(1 2 3))
instead of just
(mapcar (lambda (x) (* x x)) '(1 2 3)),
which seems to work as well. I am beginning to learn Common Lisp, and having some background in Scheme, this intrigues me.
Edit: I know that you need #' with function names because they live in a different namespace than variables. My question is just about #' before lambda, as lambda already returns a function object (I think). The fact that #'-less lambdas work because of a macro expansion just makes it more intriguing...