From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-Status: No, score=-2.6 required=3.0 tests=AWL,BAYES_00, DKIM_ADSP_CUSTOM_MED,FORGED_GMAIL_RCVD,FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY shortcircuit=no autolearn=no autolearn_force=no version=3.4.2 Received: from neon.ruby-lang.org (neon.ruby-lang.org [221.186.184.75]) by dcvr.yhbt.net (Postfix) with ESMTP id 3E4221F4B4 for ; Fri, 1 Jan 2021 12:20:45 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id 35BE31209E3; Fri, 1 Jan 2021 21:19:55 +0900 (JST) Received: from xtrwkhkc.outbound-mail.sendgrid.net (xtrwkhkc.outbound-mail.sendgrid.net [167.89.16.28]) by neon.ruby-lang.org (Postfix) with ESMTPS id 03D371209D8 for ; Fri, 1 Jan 2021 21:19:52 +0900 (JST) Received: by filterdrecv-p3mdw1-7474cd8bfd-mjf6h with SMTP id filterdrecv-p3mdw1-7474cd8bfd-mjf6h-19-5FEF1396-26 2021-01-01 12:20:38.795929029 +0000 UTC m=+1862300.329455259 Received: from herokuapp.com (unknown) by geopod-ismtpd-5-0 (SG) with ESMTP id 4AF4V1xdS4Sjjhxjf6WA4g for ; Fri, 01 Jan 2021 12:20:38.752 +0000 (UTC) Date: Fri, 01 Jan 2021 12:20:38 +0000 (UTC) From: eregontp@gmail.com Message-ID: References: Mime-Version: 1.0 X-Redmine-MailingListIntegration-Message-Ids: 77757 X-Redmine-Project: ruby-master X-Redmine-Issue-Tracker: Feature X-Redmine-Issue-Id: 17490 X-Redmine-Issue-Author: k0kubun X-Redmine-Sender: Eregon X-Mailer: Redmine X-Redmine-Host: bugs.ruby-lang.org X-Redmine-Site: Ruby Issue Tracking System X-Auto-Response-Suppress: All Auto-Submitted: auto-generated X-SG-EID: =?us-ascii?Q?KippOI8ZHtTweq7XfQzW93937kJ4QNWwSBuHnaMEcr141WDKLjhxjsneybqZRK?= =?us-ascii?Q?xc4IOBtIbX+laLSnE4TC28+Z5Ldta=2FukTNZJsGK?= =?us-ascii?Q?a5q1=2FnPnLqJODqP1nwU4XWJCpPrtV+sJMsXtSpm?= =?us-ascii?Q?wiaEUOONhwhRH07ScaJ30QbJP6FnybtKf9UmFbl?= =?us-ascii?Q?pokxLkdP8eWgxdcPf6uNEzdynR9MmRvuW625IUR?= =?us-ascii?Q?0pQVZTiOCWJNXUUOI=3D?= To: ruby-core@ruby-lang.org X-Entity-ID: b/2+PoftWZ6GuOu3b0IycA== X-ML-Name: ruby-core X-Mail-Count: 101851 Subject: [ruby-core:101851] [Ruby master Feature#17490] Rename RubyVM::MJIT to RubyVM::JIT X-BeenThere: ruby-core@ruby-lang.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Ruby developers List-Id: Ruby developers List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ruby-core-bounces@ruby-lang.org Sender: "ruby-core" Issue #17490 has been updated by Eregon (Benoit Daloze). k0kubun (Takashi Kokubun) wrote in #note-4: > Didn't you clarify it by yourself at [Feature #15743]? The person who wrote the line that nobu quoted was you. You made it pretty clear that `RubyVM::MJIT` doesn't need to exist in other implementations. I tried to document it. I don't think it's good enough, many people don't read class documentation. If e.g., they see RubyVM::AbstractSyntaxTree in a blog post, they might use it and miss the fact it's MRI-specific, because the name gives no clue about it. And it gets more complicated, as RubyVM::AbstractSyntaxTree could exist on other Ruby implementations without much issues, while RubyVM::InstructionSequence probably cannot. > So, would you suggest always explaining what is "M"JIT in every release note Actually I think `MJIT` is a lot clearer than `JIT` in e.g. https://www.ruby-lang.org/en/news/2020/12/25/ruby-3-0-0-released/ MJIT is not the only "Ruby Just-in-Time compiler", so being precise seems helpful to me when mentioning it by name. > and renaming `--jit` to `--mjit` to approach the naming inconsistency issue explained in this ticket? I'm fine with pasting a link for the former, but I'm reluctant to force users to remember the name for the flag. Agreed the flag should be `--jit` as it is. Since users shouldn't use RubyVM::MJIT methods anyway, I think it doesn't matter much what is the constant name for users. My concern is from the name, `RubyVM::JIT` sounds like some official "blessed" API ("the JIT of the Ruby VM", nothing in that name hints it's MRI-specific), while `RubyVM::MJIT` has a hint of "implementation details"/shouldn't be used by casual users. Really, the fault is the bad name of the `RubyVM` constant which completely misses the most important thing which is to hint it's MRI specific in the name, but I guess that's a lost battle (#15743). ---------------------------------------- Feature #17490: Rename RubyVM::MJIT to RubyVM::JIT https://bugs.ruby-lang.org/issues/17490#change-89683 * Author: k0kubun (Takashi Kokubun) * Status: Open * Priority: Normal ---------------------------------------- ## Background In my understanding, MJIT is a codename like YARV which many people outside Ruby community are not familiar with, so I've used JIT in NEWS or release notes to avoid explaining the "M" part whenever we release a new version. However, because we have the name "MJIT" in one of our constants, we've had some naming inconsistency. For instance, --jit is not --mjit and it's not consistent. ## Proposal Have the same constant as `RubyVM::JIT`, deprecate `RubyVM::MJIT` from Ruby 3.1, and remove the old one in Ruby 3.2. -- https://bugs.ruby-lang.org/