Odd that the FFI list didn't include Java given the JVM target. Typo or oversight?
But of course as a Truffle language it gets "free" java interop
Talking about Java FFI invites you to say 'well then smart-ass how do you extend this Java class/interface over here with code written in your language' and frankly, that has never had a satisfying answer for any language that isn't Java.
But today you can pass Haskell Data.Text out through the FFI binding framework and it shows up on the other side as a valid TruffleString, in UTF-8 with zero copy semantics and if any Truffle language passes in a TruffleString that is UTF-8 encoded it gets unwrapped into Data.Text using the same.
That and some array support is pretty much enough to talk to everybody else.