4 ms·
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 m
by dkarl 16y ago
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?
- 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.