4 ms·
Here's Wayne Seguin's take on Rubinius (he's the developer behind rvm, and he puts it nicely, I think): Rubinius is a ruby interpreter written in C++ using man
by telemachos 16y ago
Here's Wayne Seguin's take on Rubinius (he's the developer behind rvm, and he puts it nicely, I think):
Rubinius is a ruby interpreter written in C++ using many advanced techniques and technologies such as LLVM, a "precise, compacting, generational garbage collector", a compatible C extension api to standard MRI Ruby and many other awesome ideas that will give any language nut a huge nerdon.
(from http://rvm.beginrescueend.com/interpreters/rbx/ http://rvm.beginrescueend.com/interpreters/rbx/)
- daveungerer 16y agoActually, his take on it isn't quite accurate. It's not "written in C++". From http://rubini.us http://rubini.us : Wherever possible Rubinius is written in Ruby. Where not possible (yet), it's C++. And further down: The Rubinius bytecode virtual machine is written in C++, incorporating LLVM to compile bytecode to machine code at runtime. The bytecode compiler and vast majority of the core classes are written in pure Ruby. So, it's the VM that's C++. The bytecode compiler (which is technically what's meant by "interpreter" in this case) is ruby.
- evanphx 16y agoWell, not exactly. The interpreter is in C++. By bytecode compiler he means the code that translates from a ruby AST into bytecode, which is in ruby.
- daveungerer 16y agoSure, but the point I'm trying to make is that Wayne Seguin was using the word "interpreter" colloquially to refer to the whole program, in effect saying that the whole code base is C++.