Anonymous methods

Bob Nystrom rnystrom at
Wed Jan 11 10:16:16 PST 2012

On Wed, Jan 11, 2012 at 10:10 AM, John J Barton <johnjbarton at
> wrote:

> The blog post makes
> the case for blocks that act like functions when passed as arguments but
> have loop-up rules more like nested blocks.
> Of course these are called 'block lambdas', and I suggest that this is a
> problem. Given that very few programmers understand lambda calculus (and
> this will not change), the word 'lambda' is equivalent to "too difficult to
> understand".
> When I looked up lambda on I read
>   In mathematical logic <>
>  and computer science <>,
> lambda is used to introduce an anonymous function<> expressed
> with the concepts of lambda calculus<>
> .
> and then "Oh that is what they meant with all that 'block-lambda' stuff".
> If the discussion here were on a new ES feature "anonymous methods", then
> I guess many more developers would be interested. If this feature had the
> properties outlined in the blog post, then I think many developers would
> understand the value of this potential feature. As it is I guess they stop
> reading as soon as they see the word 'lambda'.

For what it's worth, C#, Python, Ruby, Java (in JDK 8), and C++ (in C++11)
all use "lambda" to roughly mean "anonymous closure". It's a strange term
but it's becoming widespread. "lambda" is a keyword in Ruby, Python, and
Scheme (where "keyword" -> "special form" in Scheme for the nitpickers).

- bob
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the es-discuss mailing list