calling Java code from Haskell and vice-versa