title: Exactly what is the difference between a "closure" and a "block"?
body: <p>I've found that lots of people use the words <em>closure</em> and <em>block</em> interchangeably. Most of these people can't explain what they're talking about.</p>
  
  <p>Some Java programmers (even ones from really expensive consultancies) talk about anonymous inner classes as "blocks" and "closures" - but I know this isn't true. (You can't pass mutable variables in from the scope of the method in which they're defined...)</p>
  
  <p>I'm looking for:</p>
  
  <ul>
  <li>a precise, computer science <strong>definition of a block</strong></li>
  <li>a precise, computer science <strong>definition of a closure</strong></li>
  <li>and <strong>clarification on the difference</strong> between the two.</li>
  </ul>
  
  <p>I'd really like to see links, articles or book <strong>references on these please</strong>.</p>