What's a Closure?
Maybe somebody could explain what the difference between a lambda, a closure and a monad is, and how/if they are different from a function pointer (or generalization of it like a signal), or from unary or binary function objects. (my C++ bias in asking this question may be obvious ;) )I see the first three concepts used interchangeably (as far as I understand), but maybe that's because they're used slightly different between different communities?