title: Why #' is used before lambda in Common Lisp?
body: <p>I would like to know why most Common Lisp code I see has things like</p>
  
  <p><code>(mapcar #'(lambda (x) (* x x)) '(1 2 3))</code></p>
  
  <p>instead of just</p>
  
  <p><code>(mapcar (lambda (x) (* x x)) '(1 2 3))</code>,</p>
  
  <p>which seems to work as well. I am beginning to learn Common Lisp, and having some background in Scheme, this intrigues me.</p>
  
  <p><strong>Edit:</strong> 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...</p>