Conversation

None of the languages I use day to day use that term, so I would mentally translate it into something more familiar like "closure" or "block" and then be a little startled when I couldn't capture anything. Swift calls these "thin closures", but I think that's one we made up.
2
2
many GC’d languages don’t make any distinction based on whether something closes over variables or not; Ruby’s distinctions are particularly weird; Haskell programmers only differentiate syntactically (top-level vs. where clause vs. lambda) and ghc does whatever it wants anyway
1
2
typically I’d say “lambda” to mean “function written inline in an expression” or even “function written with the \ syntax,” but I’d roughly consider “function” and “lambda” synonymous.
2
2
by contrast, I only ever say “closure” when referring to the runtime-extant value which the syntax generates, and I’d say that whether or not it actually closed over any variables.
2
1
a lambda is an expression rather than a declaration. e.g.: map (\ a -> a + 1) xs the first argument to map there is a lambda map f xs where f a = a + 1 f is a declaration the distinction being, declarations declare names (this isn’t set in stone, but it’s ~usual IME)
2
3