JVM implementation in Haskell