Hi Alp,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.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.Thanks,Rahul--On Sun, May 22, 2016 at 1:05 PM, Alp Mestanogullari <alpmestan@gmail.com> wrote:[2]: https://github.com/tweag/sparkle -- see the inline-java directoryHi,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.
[1]: http://hackage.haskell.org/package/inline-javaOn Sun, May 22, 2016 at 4:54 AM, Rahul Muttineni <rahulmutt@gmail.com> wrote:_______________________________________________Hi Haskell-Cafe,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.Thanks,Rahul Muttineni
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
--Alp MestanogullariRahul Muttineni