tweag/inline-java

Existing Project Integration

thatvertigo opened this issue · 4 comments

Is your feature request related to a problem? Please describe.
I wish to integrate Haskell with an existing Java project of mine, but it seems that this project only works for making a new Java project Haskell only.

Describe the solution you'd like
A method to integrate this project into already existing Java codebases as a JNI component, as well as a way to integrate it with other non-Bazel build systems such as Gradle.

Describe alternatives you've considered

  • Rewriting my entire project in Haskell
  • Using Frege or Eta to run Haskell directly on the JVM
  • Using LLJVM to run Haskell on the JVM
  • Using functional alternatives to Haskell
    • Kotlin + Arrow
    • Clojure
    • Scala

Hello @milse113.

https://github.com/tweag/tweag/sparkle goes through some trouble to give the JVM the ability to invoke libraries built with Haskell. Though it is still based on bazel.

The main difficulty in switching the build system, is that it would need to allow expressing dependencies between components written in different languages.

Hmm... might it just be better to use the raw JNI bindings then? It seems like this project isn't really meant to be used in conjunction with an existing codebase

Hmm... might it just be better to use the raw JNI bindings then?

Hard to say without analyzing the needs of the particular project. If your project requires Gradle, then some integration solution for it will be necessary to use inline-java.

Closing due to inactivity. But please, feel free to reopen it.