[Haskell-cafe] A Java bytecode interpreter written in Haskell

Victor Nazarov asviraspossible at gmail.com
Thu May 26 11:05:37 UTC 2016


On Wed, May 25, 2016 at 8:21 PM, Erik Dominikus <erik.dominikus71 at gmail.com>
wrote:

> @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.
>
>
Exactly. I don't know if it is really feasible, though.
There is already Quasar[1] project for Java, but it has it's limits since
it work by bytecode preprocessing.
Streaght forward JVM with green threads should be cool.

[1] http://www.paralleluniverse.co/quasar/

--
Victor Nazarov



> On Wed, May 25, 2016 at 3:25 PM, Victor Nazarov
> <asviraspossible at gmail.com> wrote:
> > On Tue, May 24, 2016 at 8:43 PM, Erik Dominikus <
> erik.dominikus71 at 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:
> >>
> >> https://github.com/edom/haji
> >>
> >> 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_the_JVM.3F
> >> [5] https://github.com/levans/Open-Quark
> >> _______________________________________________
> >> Haskell-Cafe mailing list
> >> Haskell-Cafe at haskell.org
> >> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> >
> >
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20160526/498b765f/attachment.html>


More information about the Haskell-Cafe mailing list