
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
Hi,
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-java [2]: https://github.com/tweag/sparkle -- see the inline-java directory
On Sun, May 22, 2016 at 4:54 AM, Rahul Muttineni
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
[1] http://github.com/rahulmutt/ghcvm [2] https://gist.github.com/rahulmutt/355505bce57c7c2cffd7d4cf5edddad4
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
-- Alp Mestanogullari
-- Rahul Muttineni