Primitives in Generics

Neal Gafter neal at
Fri Jul 9 15:23:47 PDT 2010

On Fri, Jul 9, 2010 at 2:38 PM, Pavel Minaev <int19h at> wrote:

> On Fri, Jul 9, 2010 at 2:23 PM, Neal Gafter <neal at> wrote:
> > "closures" is slang for lambda expressions, which means lexically-scoped
> > function-valued expressions.  Unfortunately, what is Brian is now calling
> a
> > lambda expression is neither lexically scoped nor function-valued.
> Pragmatically, "closures" is slang for "those cool function-like
> things like in JS/Ruby/C#/...". Few programmers in the wild are
> actually interested in conceptual purity. It doesn't matter if some
> bits are not "properly" lexically scoped, if all (or even most) of
> those that matter are.

Well, perhaps nothing really matters at
Few programmers in the wild are actually interested in the language
specification until the issues begin to interfere with their effective use
of the language.  It is the language designer's job to make sure that
doesn't happen.

By the way, why do you say that the proposed lambda expressions aren't
> function-valued? Is that because they don't have an expressible type?

It is because they aren't of a function type, which is because function
types have been dropped.

> If so, then do you imply that C# lambdas aren't closures, either?

C# lambdas are indeed of "delegate" types, which are function types.

More information about the lambda-dev mailing list