<div dir="ltr"><div><div><br></div>I don't know of any project that does interopability, but I don't think there is any technical issues blocking this.  The GHC RTS and the JVM RTS should be able to run in the same process using their respective parts of the heap.  Initially you would want the set of threads managed by the JVM to be separate from the GHC RTS threads, but it might even be possible to have call directly from one to the other (through C).<br><br></div>Alexander<br><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jul 15, 2015 at 5:13 AM, Vasili I. Galchin <span dir="ltr"><<a href="mailto:vigalchin@gmail.com" target="_blank">vigalchin@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I am looking to suppprt Haskell (OCaml ??) for <a href="http://apache.spark.org" target="_blank">apache.spark.org</a>. Currently there is support for programming language "R" which has functional features (not as rich as Haskell, OCaml, et. al.) and does lazy evaluation. I am going to drop back and look at the R->Scala/Java implementation BUT I will also read your link.  Any more.suggestions are gratefully welcome.<div><span style="font-size:15px"><br></span></div><div><span style="font-size:15px">Kind thx,</span></div><div><span style="font-size:15px"><br></span></div><div><span style="font-size:15px">Vasili<br></span><br>On Tuesday, July 14, 2015, Jason Dagit <<a href="mailto:dagitj@gmail.com" target="_blank">dagitj@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Did you look at java bridge?<div>  * <a href="https://hackage.haskell.org/package/java-bridge" target="_blank">https://hackage.haskell.org/package/java-bridge</a></div><div><br></div><div>Perhaps counter-intuitively, you're probably better off defining a protocol and using that for interop. Something like zeromq could simplify the communication.</div><div><br></div><div>The main hassle with a full interop is the difference between the notions of types in the two languages. For instance, subtyping on the Java side doesn't really map well to the Haskell side.</div><div><br></div><div>I would say that it forces attempts at a general interop to go with a least common denominator approach. In the extreme, this degenerates back to having the code on each side pretend like it's talking to C.</div><div><br></div><div>Whereas designing a message protocol for your task allows you to incorporate domain specific knowledge and thus avoid a general solution and also leave out things you will never use.</div></div><div><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jul 14, 2015 at 7:14 PM, Vasili I. Galchin <span dir="ltr"><<a>vigalchin@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
      I have been looking at Hackage for a package/library that<br>
supports Haskell interoperability with Java/Scala. Didn't see any such<br>
support. If true, is there any project in the works?<br>
<br>
Thanks,<br>
<br>
Vasili<br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a>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>
</blockquote></div><br></div>
</div></div></blockquote></div>
<br>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">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><br></div>