@Martin Yes, it does it "live". No compilation, just interpretation. Honestly, there was no strong reason for me to make a JVM, and I don't have a plan. I just needed some ego boost over my fellow programmers. So yes, it was just an involved and commendable exercise. You saw through me... LOL... (But it's licensed under BSD3 in case someone finds something interesting to do.) @Victor Interesting idea. Yes, in principle we could implement a JVM where all java.lang.Thread instances are green threads, and all IO operations are nonblocking, just like GHC runtime, and this will allow Java programmers to write code in the easiest way (just new Thread() everywhere) without performance penalty. On Wed, May 25, 2016 at 3:25 PM, Victor Nazarov <asviraspossible@gmail.com> wrote:
On Tue, May 24, 2016 at 8:43 PM, Erik Dominikus <erik.dominikus71@gmail.com> wrote:
(Please keep expectations low for now; this is just a weekend project.)
I have written, in Haskell, something that aspires to be a Java Virtual Machine (but I don't call it a JVM yet as it doesn't fully comply with the spec). The code is available here:
This is similar to Frege [3], but while Frege aims to run a variant of Haskell on Java, this project tries the other direction: running a subset of Java on Haskell.
I think it can be really interesting for Java community if you implement Java-runtime directly the same way GHC-runtime is implemented, i.e. Java-threads as GHC's IO-threads (i. e. green threads) and Java-I/O as GHC's input-output (which is asynchronous internally to support green-threading model).
-- Victor Nazarov
Some related stuffs:
[1] https://github.com/MateVM/MateVM [2] https://hackage.haskell.org/package/hs-java [3] https://github.com/Frege/frege [4] https://wiki.haskell.org/GHC:FAQ#Why_isn.27t_GHC_available_for_.NET_or_on_th... [5] https://github.com/levans/Open-Quark _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe