top | item 9241453

(no title)

unknownian | 11 years ago

>MRI executes Ruby via an interpreted stack-machine bytecode language known as YARV

On Wikipedia: >Since YARV has become the official Ruby interpreter for Ruby 1.9, it is also named KRI (Koichi's Ruby Interpreter), in the same vein as the original Ruby MRI, named for Ruby's creator Yukihiro Matsumoto.

So is one of them wrong? I'm confused.

discuss

order

krylon|11 years ago

AFAIK, technically, ruby 1.9 and later are no longer MRI, but KRI. So, yeah, I would say that technically speaking, refererring to current versions of ruby as "MRI" is not terribly correct.

On the other hand, to tell the "default" ruby apart from jruby and rubinius, one might still refer to it as "MRI". Also, Robert Metcalfe once said something to the effect that "Ethernet cannot die - if something comes along to replace it, it will just be called Ethernet" or something along those lines. Maybe something similar is at work here? (Sloppiness is more likely, though.)

tinco|11 years ago

I am not 100% sure, but wasn't KRI a fork of MRI that at some point simply was merged? It would be a bit strange if the whole interpreter would be called KRI when most code was still written by Matz. Though Ko1 is the main developer currently Matz is still the visionary and decision maker.

cremno|11 years ago

The full sentence is:

>MRI executes Ruby via an interpreted stack-machine bytecode language known as YARV (Yet Another Ruby VM) bytecode.

So YARV is a Ruby VM that has instructions and bytecode. Are you still confused?