cc es-discuss<br><br><div class="gmail_quote">On Thu, Jan 12, 2012 at 7:58 PM, Dmitry Soshnikov <span dir="ltr"><<a href="mailto:dmitry.soshnikov@gmail.com">dmitry.soshnikov@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Forgot to add es-discuss to cc (original reply is below; the letter was sent yesterday and was the first reply); there I also proposed active "blocks" as "callable blocks"<br><br>But in fact, if to recall the topic "Everything is expression" (which unfortunately became silent), it was already proposed including blocks to return values. Moreover, that's said since even in ES3 blocks (and in fact any statement) has completion result, it's easy to implement.<span class="HOEnZb"><font color="#888888"><br>

<br>Dmitry.</font></span><div class="HOEnZb"><div class="h5"><br><br><div class="gmail_quote">On Wed, Jan 11, 2012 at 10:26 PM, Dmitry Soshnikov <span dir="ltr"><<a href="mailto:dmitry.soshnikov@gmail.com" target="_blank">dmitry.soshnikov@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br><div class="gmail_quote"><div>On Wed, Jan 11, 2012 at 10:10 PM, John J Barton <span dir="ltr"><<a href="mailto:johnjbarton@johnjbarton.com" target="_blank">johnjbarton@johnjbarton.com</a>></span> wrote:<br>
</div><div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
The blog post  <a href="http://yehudakatz.com/2012/01/10/javascript-needs-blocks/" target="_blank">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 href="http://en.wikipedia.org/wiki/Lambda" target="_blank">http://en.wikipedia.org/wiki/Lambda</a> I read</div><div><br></div><div><span style="line-height:19px;font-size:13px;font-family:sans-serif">  In </span><a href="http://en.wikipedia.org/wiki/Mathematical_logic" title="Mathematical logic" style="line-height:19px;color:rgb(11,0,128);font-size:13px;font-family:sans-serif;text-decoration:none;background-image:none" target="_blank">mathematical logic</a><span style="line-height:19px;font-size:13px;font-family:sans-serif"> and </span><a href="http://en.wikipedia.org/wiki/Computer_science" title="Computer science" style="line-height:19px;color:rgb(11,0,128);font-size:13px;font-family:sans-serif;text-decoration:none;background-image:none" target="_blank">computer science</a><span style="line-height:19px;font-size:13px;font-family:sans-serif">, lambda is used to introduce an </span><a href="http://en.wikipedia.org/wiki/Anonymous_function" title="Anonymous function" style="line-height:19px;color:rgb(11,0,128);font-size:13px;font-family:sans-serif;text-decoration:none;background-image:none" target="_blank">anonymous function</a><span style="line-height:19px;font-size:13px;font-family:sans-serif"> expressed with the concepts of </span><a href="http://en.wikipedia.org/wiki/Lambda_calculus" title="Lambda calculus" style="line-height:19px;color:rgb(11,0,128);font-size:13px;font-family:sans-serif;text-decoration:none;background-image:none" target="_blank">lambda calculus</a><span style="line-height:19px;font-size:13px;font-family:sans-serif">.</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",</span></font></div>


</blockquote></div><div><br><br>Yep, though the main difference b/w "active blocks" (is this naming is better than "block lambdas"?) is that by TCP, the block exits parent's context, whereas "anonymous methods" return the the caller.<br>


<br>So, there should semantic difference in discussions and explanations. "Active blocks" is a good alternative to eliminate "lambda". However, of course, more-less advanced programmer which want to know (and should know) computer science concepts will go later deeper and will tackle with lambdas again. And then she will say: "Oh, that is what they mean by action blocks / anonymous methods".<br>


<br>P.S.: small nit-pick,. from lambda calculus, the lambda is not necessary anonymous. The lambda is just an _abstraction_ -- the basic encapsulation block. Yes, it's a _function_ is the simplest view.<br><br>Dmitry. <br>


<br> </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div><font face="sans-serif"><span style="line-height:19px"> 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></div>


<span><font color="#888888">
<div><font face="sans-serif"><span style="line-height:19px"><br></span></font></div><div><font face="sans-serif"><span style="line-height:19px">jjb</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"><br></span></font></div>
</font></span><br></div>_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org" target="_blank">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
<br></blockquote></div><br>
</blockquote></div><br>
</div></div></blockquote></div><br>