<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>IMO, the biggest difference is the syntactic weight: "lambda" vs "[]". </div><div id="AppleMailSignature"><br></div><div id="AppleMailSignature">Yes, the lack of a non-local return prevents the use of closures for control structures in many languages. The "maybe" monoid is an interesting alternative that could be viewed as a partial workaround in functional languages. Exceptions, too, sorta.</div><div id="AppleMailSignature"><br></div><div id="AppleMailSignature">I've not looked at Pony yet.<br><br>- David (from iPad, typos likely)</div><div><br>On Jun 27, 2016, at 6:44 PM, James Noble <a href="mailto:kjx@mcs.vuw.ac.nz">kjx@mcs.vuw.ac.nz</a> [self-interest] <<a href="mailto:self-interest@yahoogroups.com">self-interest@yahoogroups.com</a>> wrote:<br><br></div><blockquote type="cite"><div>












 

<span style="display:none"> </span>



    <div id="ygrp-text">
      
      
      <p>Dave wrote: <br>
> blocks are more basic than lambdas<br>
<br>
The biggest difference is that lambda syntax (being functional) almost always expect an argument;<br>
a function with no arguments doesn't make any sense.   Block syntax is optimised to work well in the no-argument case. <br>
<br>
> in Scheme cond is a primitive, even though it could have been done differently<br>
<br>
the questions is whether you quote at definition side (Scheme) or use side (Smalltalk) <br>
<br>
Chris Double (hey two Kiwis in the same thread :-) wrote: <br>
> This is how the Pony programming language treats closures. They are sugar for objects with an apply method:<br>
<br>
yep, lots of langauges do that, incl. Java.  The catch is: where does "return" return to? <br>
<br>
J</p>

    </div>
     

    





<!-- end group email -->

</div></blockquote></body></html>