<div dir="ltr">Hi Alp,<div><br></div><div>I had a nice time going through inline-java and sparkle! The API I made up for the Java FFI is similar to yours but I don't do the extensive type-level hackery that you have. Another key difference is that I use GHC Annotations to specify the qualified class name where you use type-level strings.</div><div><br></div><div>Nice work supporting almost all of the JNI in a clean way! I recently looked at the JNI API and it stated that the functions that interact with the JVM are a tad slow due to reflection + the fact that native methods don't get inlined. I'm interested in benchmarking programs compiled with GHC/Sparkle vs GHCVM/FFI to Spark once the first release is out.</div><div><br></div><div>Thanks,</div><div>Rahul</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, May 22, 2016 at 1:05 PM, Alp Mestanogullari <span dir="ltr"><<a href="mailto:alpmestan@gmail.com" target="_blank">alpmestan@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>Hi,<br><br></div>For what it's worth, at Tweag we've developed some preliminary bindings to Apache Spark, and as part of this we developed a somewhat decent API for calling Java. You can check it out on hackage [1] and on github [2]. In cast that can save you some time or inspire you.<br><br>[1]: <a href="http://hackage.haskell.org/package/inline-java" target="_blank">http://hackage.haskell.org/package/inline-java</a><br></div>[2]: <a href="https://github.com/tweag/sparkle" target="_blank">https://github.com/tweag/sparkle</a> -- see the inline-java directory<br><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Sun, May 22, 2016 at 4:54 AM, Rahul Muttineni <span dir="ltr"><<a href="mailto:rahulmutt@gmail.com" target="_blank">rahulmutt@gmail.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"><div><div class="h5"><div dir="ltr">Hi Haskell-Cafe,<div><br></div><div>I've been working on a JVM backend for GHC [1] and I took some time to flesh out a design for the Java FFI [2] which will pretty much decide whether the project will be useful or not. I would love feedback from the community on how to improve the design or requests for important interop features that I have neglected. </div><div><br></div><div>Thanks,<br><div>Rahul Muttineni</div><div><br></div><div><div>[1] <a href="http://github.com/rahulmutt/ghcvm" target="_blank">http://github.com/rahulmutt/ghcvm</a></div><div>[2] <a href="https://gist.github.com/rahulmutt/355505bce57c7c2cffd7d4cf5edddad4" target="_blank">https://gist.github.com/rahulmutt/355505bce57c7c2cffd7d4cf5edddad4</a><br clear="all"></div><div><br></div></div>
</div></div>
<br></div></div>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
<br></blockquote></div><span class="HOEnZb"><font color="#888888"><br><br clear="all"><br>-- <br><div>Alp Mestanogullari</div>
</font></span></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Rahul Muttineni</div>
</div>