Anonymous methods

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


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

> The blog post  http://yehudakatz.com/2012/01/10/javascript-needs-blocks/ 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 http://en.wikipedia.org/wiki/Lambda I read
>
>   In mathematical logic <http://en.wikipedia.org/wiki/Mathematical_logic>
>  and computer science <http://en.wikipedia.org/wiki/Computer_science>,
> lambda is used to introduce an anonymous function<http://en.wikipedia.org/wiki/Anonymous_function> expressed
> with the concepts of lambda calculus<http://en.wikipedia.org/wiki/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: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20120111/9f043663/attachment.html>


More information about the es-discuss mailing list