3 ms·
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 compil
by elblanco 16y ago
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/ https://www.parrot.org/ ?
- harryh 16y agohttp://llvm.org/ http://llvm.org/
- dkarl 16y agoThe 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?
- JoachimSchipper 16y agoLLVM does include a VM, although that's not the focus.
- elblanco 16y agoI'm wondering if it might be better suited in this context to producing byte-code for Parrot?
- JoachimSchipper 16y agoWhy? It seems perfectly capable of producing native code.
- elblanco 16y agoBecause sometimes compiling to an intermediate VM has advantages over compiling to native code. http://news.ycombinator.com/item?id=1977956 http://news.ycombinator.com/item?id=1977956
- JoachimSchipper 16y agoI'd read that comment, which is in this very thread (!), I just don't see why you'd want to do that.
- elblanco 16y agoWhich 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.
- pohl 16y agoJust 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.
- orangecat 16y agoLLVM 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.