Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Since it seems that the concept of compiling code to an intermediate bytecode run in a JIT-VM seems to have proven itself pretty well (and the concept of compiling multiple languages to said VM a la Scala), perhaps it's time for the community to look at building their own from the ground up VM with associated language support?

Perhaps https://www.parrot.org/ ?




The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. Despite its name, LLVM has little to do with traditional virtual machines, though it does provide helpful libraries that can be used to build them.

If LLVM is not a VM, do you have a particular LLVM-based VM in mind?


Just reframe the question. Rather than assuming that what we need is a standardized VM, instead assume that what we need is a standardized IR (Intermediate Representation). It solves the same problem, makes LLVM-IR a viable alternative, and leaves the world free to make multiple, interoperable implementations rather than one monolithic implementation.


LLVM does include a VM, although that's not the focus.


I'm wondering if it might be better suited in this context to producing byte-code for Parrot?


Why? It seems perfectly capable of producing native code.


Because sometimes compiling to an intermediate VM has advantages over compiling to native code.

http://news.ycombinator.com/item?id=1977956


I'd read that comment, which is in this very thread (!), I just don't see why you'd want to do that.


Which part doesn't make sense, running intermediate byte-code in a VM, or using LLVM to target Parrot? If it's the former, I'm not sure I can persuade you in this thread if a decade of enterprise software can't do that, if it's the latter, then I can see that also.


LLVM as noted. But the problem is that if Oracle's lawsuit against Google is successful, then any VM that's remotely similar to Java's is threatened.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: