title: SICP Types and Variables
body: <p>This is from the <a href="http://icampustutor.csail.mit.edu/6.001-public/tutor.cgi" rel="nofollow">MIT 6.001 Online Tutor</a>, it's part of the third problem set.</p>
  
  <p><strong>Question: Indicate the type of each of the following expressions. If you need type variables, use A,B,C, etc., starting with A as the leftmost variable.</strong></p>
  
  <ol>
  <li><code>(lambda (x y) x)</code> = <code>A,B-&gt;A</code></li>
  <li><code>(lambda (p) (p 3))</code></li>
  <li><code>(lambda (p x) (p x))</code> = <code>(A-&gt;B), A-&gt;B</code></li>
  <li><code>(lambda (x y comp) (if (comp x y) x y))</code></li>
  </ol>
  
  <p>As you can see I solved 1 and 3, but that was mainly out of luck. I still am having issues with understanding the concept and that is stopping me from solving 2 and 4. </p>
  
  <p>Lecture slides can be found <a href="https://docs.google.com/viewer?url=http://icampustutor.csail.mit.edu/6.001-public/courseexport/lessons/Lesson6/lecture6.pdf" rel="nofollow">here</a> (view the last few).</p>