<html>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
<body text="#000000" bgcolor="#FFFFFF">
Le 11/01/2012 19:10, John J Barton a écrit :
<blockquote
cite="mid:CAFAtnWz_E_wfpEngG3cFPM8U4jsoc-7AE64ncV0w_QN7ueVCcA@mail.gmail.com"
type="cite">The blog post  <a moz-do-not-send="true"
href="http://yehudakatz.com/2012/01/10/javascript-needs-blocks/">http://yehudakatz.com/2012/01/10/javascript-needs-blocks/</a> makes
the case for blocks that act like functions when passed as
arguments but have loop-up rules more like nested blocks.
<div>
<br>
</div>
<div>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".   </div>
<div><br>
</div>
<div>When I looked up lambda on <a moz-do-not-send="true"
href="http://en.wikipedia.org/wiki/Lambda">http://en.wikipedia.org/wiki/Lambda</a> I
<div><br>
</div>
<div><span
style="font-family:sans-serif;font-size:13px;line-height:19px;background-color:rgb(255,255,255)">
In </span><a moz-do-not-send="true"
href="http://en.wikipedia.org/wiki/Mathematical_logic"
title="Mathematical logic"
style="text-decoration:none;color:rgb(11,0,128);background-image:none;background-color:rgb(255,255,255);font-family:sans-serif;font-size:13px;line-height:19px">mathematical
logic</a><span
style="font-family:sans-serif;font-size:13px;line-height:19px;background-color:rgb(255,255,255)"> and </span><a
moz-do-not-send="true"
href="http://en.wikipedia.org/wiki/Computer_science"
title="Computer science"
style="text-decoration:none;color:rgb(11,0,128);background-image:none;background-color:rgb(255,255,255);font-family:sans-serif;font-size:13px;line-height:19px">computer
science</a><span
style="font-family:sans-serif;font-size:13px;line-height:19px;background-color:rgb(255,255,255)">,
lambda is used to introduce an </span><a
moz-do-not-send="true"
href="http://en.wikipedia.org/wiki/Anonymous_function"
title="Anonymous function"
style="text-decoration:none;color:rgb(11,0,128);background-image:none;background-color:rgb(255,255,255);font-family:sans-serif;font-size:13px;line-height:19px">anonymous
function</a><span
style="font-family:sans-serif;font-size:13px;line-height:19px;background-color:rgb(255,255,255)"> expressed
with the concepts of </span><a moz-do-not-send="true"
href="http://en.wikipedia.org/wiki/Lambda_calculus"
title="Lambda calculus"
style="text-decoration:none;color:rgb(11,0,128);background-image:none;background-color:rgb(255,255,255);font-family:sans-serif;font-size:13px;line-height:19px">lambda
calculus</a><span
style="font-family:sans-serif;font-size:13px;line-height:19px;background-color:rgb(255,255,255)">.</span></div>
<div><font face="sans-serif"><span style="line-height:19px"><br>
</span></font></div>
<div><font face="sans-serif"><span style="line-height:19px">and
then "Oh that is what they meant with all that
'block-lambda' stuff".</span></font></div>
<div><font face="sans-serif"><span style="line-height:19px"><br>
</span></font></div>
<div><font face="sans-serif"><span style="line-height:19px">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'.</span></font><br>
</div>
</blockquote>
<font face="sans-serif">From your e-mail, it seems granted that
"more developers interested" is a good thing. I can't really say
whether I agree or not. So I guess I should ask the question: is
more developers interested a good thing?<br>
<br>
Language design and evolution of a language are not necessarily
things that are of everyone interest. I think that those who are
actually interested in the evolution of JavaScript read proposals
and strawmen regardless of how scary the name may sound.<br>
If just the name of a proposal is enough to scare someone out,
then this person may just not be interested in the evolution of
the language... and that's perfectly fine.<br>
<br>
Besides naming, I think that the important thing is explaining
what these names are about. Brendan Eich gave a presentation on
proxies at JSConf.eu. Before that, who in the JS community was
aware of what proxies are? Not a lot I would guess.<br>
This presentation helped explaining the idea and sharing some
knowledge on what "reflection" is. In my opinion, this kind of
sharing is more important than the fact that the feature is named
"proxy" or "tartanpion".<br>
I did some of it when documenting WeakMaps on MDN [1].<br>
The article you mention does this work too. There is no
explanation on what a lambda is, but it does explain what
JavaScript anonymous functions lack and how "block lambda" would
be an improvement.<br>
<br>
As long as there are people doing this, names are not really
important I think.<br>
Another part (which is not that widely accepted at least in
western countries) is also that people acknowledge when they don't
know something and either go read or ask questions. I think I have
asked here my fair share of questions and I have always been