Feature #15743

RubyVM should be renamed to CRuby

Added by Eregon (Benoit Daloze) almost 2 years ago. Updated over 1 year ago.

Target version:


My understanding is that RubyVM is supposed to only exist on MRI/CRuby, and not on any other Ruby implementation.
In fact, almost all features under RubyVM are not realistically implementable on other major Ruby implementations (JRuby, TruffleRuby, Rubinius).

Unfortunately, the name doesn't reflect that it is specific to CRuby, e.g., JRuby/TruffleRuby/Rubinius are also "Ruby VMs".
And as a result it is not clear for many Ruby users that RubyVM is CRuby-specific.

The documentation is also unclear:

The RubyVM module provides some access to Ruby internals. This module is
for very limited purposes, such as debugging, prototyping, and research.
 Normal users must not use it.

So I propose to rename RubyVM to CRuby.
That way, it is clear for everyone that this module is CRuby-specific.
It's also consistent with the JRuby module, the TruffleRuby module and the Rubinius module.

Proposed migration path:

  • Introduce CRuby as an alias of RubyVM on trunk, and deprecate the RubyVM constant on trunk (for 2.7).
  • Remove RubyVM in Ruby 3.0.

What do you think?

cc ko1 (Koichi Sasada) k0kubun (Takashi Kokubun) headius (Charles Nutter)

Related issues

Related to Ruby master - Feature #15752: A dedicated module for experimental featuresFeedbackActions
Related to Ruby master - Feature #17500: Move RubyVM::* to ExperimentalFeaturesRejectedActions

Also available in: Atom PDF