Presented at scalatam2019. http://scalatam.com
If you feel torn between using Haskell and the JVM for your next project, ponder no more. This talk will show you techniques and challenges when combining the two. inline-java is a tool we use at Tweag IO to integrate Spark, a large Scala project, with Haskell programs.
inline-java is a Haskell library and compiler plugin that allows to embed fragments of Java code in Haskell modules. This ability offers a practical alternative to reimplementing Java libraries in Haskell. In this talk, I will discuss how inline-java works and what are its limitations. You will hear of using the compiler to check that values are marshaled correctly, about coordinating garbage collectors, and what the experience has been using it with Spark, a Scala framework for distributed computing made available in Haskell through a package called sparkle.