I've found that lots of people use the words closure and block interchangeably. Most of these people can't explain what they're talking about.
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...)
I'm looking for:
- a precise, computer science definition of a block
- a precise, computer science definition of a closure
- and clarification on the difference between the two.
I'd really like to see links, articles or book references on these please.