From: eregontp@... Date: 2019-04-03T12:09:21+00:00 Subject: [ruby-core:92131] [Ruby trunk Bug#15743] RubyVM should be renamed to CRuby Issue #15743 has been updated by Eregon (Benoit Daloze). k0kubun (Takashi Kokubun) wrote: > Could you provide real-world use case in which `CRuby` looks more appropriate than `RubyVM`? I think all constants under RubyVM are clear examples: ``` CRuby::InstructionSequence - it is the bytecode of CRuby CRuby::AbstractSyntaxTree - it is the AST of CRuby CRuby::MJIT - it is the method JIT of CRuby ``` or if you like YARV better: ``` YARV::InstructionSequence YARV::AbstractSyntaxTree YARV::MJIT ``` All these things are CRuby-specific and not portable, so qualifying them clearly is not only more precise, it's more correct IMHO. ---------------------------------------- Bug #15743: RubyVM should be renamed to CRuby https://bugs.ruby-lang.org/issues/15743#change-77457 * Author: Eregon (Benoit Daloze) * Status: Open * Priority: Normal * Assignee: * Target version: Next Major * ruby -v: ruby 2.6.2p47 (2019-03-13 revision 67232) [x86_64-linux] * Backport: 2.4: UNKNOWN, 2.5: UNKNOWN, 2.6: UNKNOWN ---------------------------------------- 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 @k0kubun @headius -- https://bugs.ruby-lang.org/ Unsubscribe: