<html><head></head><body><div class="ydp4e0944f5yahoo-style-wrap" style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:13px;"><div></div>
<div dir="ltr" data-setdir="false"><div><div dir="ltr" data-setdir="false">Sorry, meant to send to the ABCL-dev list the first time.<br></div><div dir="ltr"><br></div><div dir="ltr">The use case is Spark lambda functions. I couldn't do a better job than the <a shape="rect" href="http://spark.apache.org/docs/latest/rdd-programming-guide.html" rel="nofollow" target="_blank">Spark RDD Programming Guide</a>
does at explaining the use case. It starts on the Basics heading. The
ideal case would be the ability to take Java code like this:</div><div dir="ltr"><span></span><pre><code class="ydp99750b04yiv4446482028ydp1cdad5b1language-java"><span class="ydp99750b04yiv4446482028ydp1cdad5b1nc">JavaRDD</span><span class="ydp99750b04yiv4446482028ydp1cdad5b1o"><</span><span class="ydp99750b04yiv4446482028ydp1cdad5b1nc">Integer</span><span class="ydp99750b04yiv4446482028ydp1cdad5b1o">></span> <span class="ydp99750b04yiv4446482028ydp1cdad5b1n">lineLengths</span> <span class="ydp99750b04yiv4446482028ydp1cdad5b1o">=</span> <span class="ydp99750b04yiv4446482028ydp1cdad5b1n">lines</span><span class="ydp99750b04yiv4446482028ydp1cdad5b1o">.</span><span class="ydp99750b04yiv4446482028ydp1cdad5b1na">map</span><span class="ydp99750b04yiv4446482028ydp1cdad5b1o">(</span><span class="ydp99750b04yiv4446482028ydp1cdad5b1n">s</span> <span class="ydp99750b04yiv4446482028ydp1cdad5b1o">-></span> <span class="ydp99750b04yiv4446482028ydp1cdad5b1n">s</span><span class="ydp99750b04yiv4446482028ydp1cdad5b1o">.</span><span class="ydp99750b04yiv4446482028ydp1cdad5b1na">length</span><span class="ydp99750b04yiv4446482028ydp1cdad5b1o">());</span></code></pre></div><div dir="ltr">and write it in ABCL like this:</div><div dir="ltr"><br clear="none"></div><div dir="ltr"><span><font style="background-color:inherit;" face="lucida console, sans-serif">(let ((line-lengths (#"map" *lines* (lambda (s) (length s)))))</font></span></div><div dir="ltr"><span><font style="background-color:inherit;" face="lucida console, sans-serif"><br clear="none"></font></span></div><font face="Helvetica Neue, Helvetica, Arial, sans-serif"><span>This
uses the ABCL length function, which would be a huge win if we can use
Lisp functions to map across data structure. I've already got abcl.jar
accessible to Spark on all the nodes of a cluster. I'd probably shadow the cl:lambda with a spark:lambda to make the syntax natural.<br></span></font></div><div><br></div></div><div><br></div>
</div><div id="yahoo_quoted_6710089963" class="yahoo_quoted">
<div style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;color:#26282a;">
<div>
On Thursday, July 30, 2020, 7:08:35 PM GMT+8, Alessio Stalla <alessiostalla@gmail.com> wrote:
</div>
<div><br></div>
<div><br></div>
<div><div id="yiv0600516597"><div><div><div>Somewhere in between.<div>I could give a shot at it. It would be useful if Steven detailed his use case a bit more.</div><br clear="none"><br clear="none"><div class="yiv0600516597yqt0615118215" id="yiv0600516597yqt05471"><div class="yiv0600516597gmail_quote"><div class="yiv0600516597gmail_attr" dir="ltr">On Thu, Jul 30, 2020, 13:04 Mark Evenson <<a rel="nofollow" shape="rect" ymailto="mailto:evenson@panix.com" target="_blank" href="mailto:evenson@panix.com">evenson@panix.com</a>> wrote:<br clear="none"></div><blockquote class="yiv0600516597gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><br clear="none">
<br clear="none">
> On Jul 30, 2020, at 10:00, Alessio Stalla <<a rel="nofollow" shape="rect" ymailto="mailto:alessiostalla@gmail.com" target="_blank" href="mailto:alessiostalla@gmail.com">alessiostalla@gmail.com</a>> wrote:<br clear="none">
> <br clear="none">
> Correction: indeed it was merged, but I didn't go as far as to make closures serializable.<br clear="none">
<br clear="none">
Any idea how much work for someone (i.e. me)to be able to serialize closures?<br clear="none">
Just a bit of elbow-grease, or major implementation?<br clear="none">
<br clear="none">
-- <br clear="none">
"A screaming comes across the sky. It has happened before but there is nothing <br clear="none">
to compare to it now."<br clear="none">
<br clear="none">
<br clear="none">
<br clear="none">
<br clear="none">
<br clear="none">
</blockquote></div></div></div></div></div></div></div>
</div>
</div></body></html>