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

[deleted]


MRI = Matz's Ruby Interpreter = Ruby 1.8

YARV = Yet Another Ruby VM = Ruby 1.9

REE = Ruby Enterprise Edition = Ruby 1.8 with a modified garbage collection system to make it friendly to vforking.

These are all versions of ruby written in C.


Damn, your reply and the other four pointing out that they're Ruby VMs reflects very poorly on the intelligence of HN commenters. Did you guys even RTFA? I know these are Ruby VMs, but the article is about the C code that's used within them. That's the only place where "volatile" has any meaning at all. Maybe "volatile" really is unknown among Ruby programmers, but among the people who implement interpreters for Ruby or any other language I can assure you it's pretty common knowledge.

I confess, I just don't know how to deal with such epic stupidity more gracefully than this. Sheesh.


The article covers it but those are different C-based Ruby VM implementations:

- 1.8 is MRI

- 1.9 is YARV

- 1.8 plus performance patches is REE


Ruby virtual machines. MRI is the VM for ruby 1.8 (Matz ruby implementation and Matz is the creator of ruby), YARV is the newer incanation that was developed for ruby 1.9 these are all written in C. There plenty of other ruby VMs like rubinius or jruby etc.


MRI - Matz' Ruby Interpreter (the default Ruby)

REE - Ruby Enterprise Edition (unofficial branch of Ruby 1.8)

YARV - Yet Another Ruby VM (the VM used in Ruby 1.8)

(Although in this case I think he means MRI = 1.8 and YARV = 1.9)


Minor correction, YARV, written by ko1, has never been a part of the Ruby 1.8.x line to my knowledge. Some language features, (mostly stdlib I think) were back-ported in 1.8.7, but 1.8.x is and always has been an interpreter where 1.9.x has always been YARV (a VM).

Useless trivia: Once upon a time Ruby2 was going to be called "Rete" IIRC. Or maybe "Rite"? I doubt it's in any shape to be called a "formal" plan at this point, and who knows if it'll ever actually see the light of day. It was supposed to drop optional parens IIRC, it's even in the original Pickaxe I think, but I doubt that's still on the board. Don't remember what else.


It was "Rite." Now Matz is calling the embedded ruby he's working on with some japanese electronics manufacturer by the name "Rite." RubyConf 2010 keynote covered it in detail.


Damn, that's a pretty big typo. You're absolute right. Can't change it now though :(


They're Ruby interpreters -- Matz's Ruby Interpreter, Ruby Enterprise Edition, and Yet Another Ruby VM respectively.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

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

Search: