title: Rewrite an expression using let
body: <p>I have been teaching scheme language and in my textbook I hit on the below expression. My question is why it is evaluating on number '10'? Can someone please explain it to me? Meaning what local environment are created and what bindings are created to symbols. 
  Also I know that every lambda expression can be rewritten using <code>let</code>. Any idea how to do that?
  I would appreciate any help.</p>
  
  <pre><code>(let ((x 10)) 
    (define y (lambda (x) x)) 
    (define x 5) 
    (+ x (y x)))
  </code></pre>