On Wed, Jan 11, 2012 at 10:10 AM, John J Barton <[email protected] > 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
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

