From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on starla X-Spam-Level: X-Spam-Status: No, score=-1.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,SPF_HELO_PASS,T_SPF_TEMPERROR autolearn=ham autolearn_force=no version=3.4.6 Received: from nue.mailmanlists.eu (nue.mailmanlists.eu [94.130.110.93]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 170881F4CC for ; Thu, 12 Dec 2024 11:34:43 +0000 (UTC) Authentication-Results: dcvr.yhbt.net; dkim=pass (1024-bit key; unprotected) header.d=ml.ruby-lang.org header.i=@ml.ruby-lang.org header.a=rsa-sha256 header.s=mail header.b=QMvjE+7U; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=ruby-lang.org header.i=@ruby-lang.org header.a=rsa-sha256 header.s=s1 header.b=YKa872mr; dkim-atps=neutral DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ml.ruby-lang.org; s=mail; t=1734003251; bh=HUPf+9QPT1eRJ0wFvdF4pqpbyUjk1opHN/ZZT81knT4=; h=Date:References:To:Reply-To:Subject:List-Id:List-Archive: List-Help:List-Owner:List-Post:List-Subscribe:List-Unsubscribe: From:Cc:From; b=QMvjE+7UvRLmNvYPZDRTZ08m6AedCV/Vrx8MyexOG21HNKaRIMpcT7LiRTh11cXhx XshRDfsaSZf+6eF+5TJsMqfWJSrHQ4FHErms+RUIGBsIjF6VukRB+DXklXdFR/SbMg ip44EvspQ9d9h0pOFjqIHhhC97f35zjBUSDNGurQ= Received: from nue.mailmanlists.eu (localhost [IPv6:::1]) by nue.mailmanlists.eu (Postfix) with ESMTP id A10E544E64 for ; Thu, 12 Dec 2024 11:34:11 +0000 (UTC) Authentication-Results: nue.mailmanlists.eu; dkim=pass (2048-bit key; unprotected) header.d=ruby-lang.org header.i=@ruby-lang.org header.a=rsa-sha256 header.s=s1 header.b=YKa872mr; dkim-atps=neutral Received: from s.wfbtzhsv.outbound-mail.sendgrid.net (s.wfbtzhsv.outbound-mail.sendgrid.net [159.183.224.104]) by nue.mailmanlists.eu (Postfix) with ESMTPS id 999EC44E08 for ; Thu, 12 Dec 2024 11:33:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ruby-lang.org; h=from:references:subject:mime-version:content-type: content-transfer-encoding:list-id:to:cc:content-type:from:subject:to; s=s1; bh=MMog+dQUvgb+qpzoxnpA9FSMjM97R2UvaXDQHVmV61E=; b=YKa872mrUdJmaB9YrCt1OGl7Je/dDQUfxCplAk//ncGJ4owESodoMv7K+DDgUV5+TAif WJftuDGkglrE7nU9BMsPlhlQ26CIEDO8bxy16s6PCuKzKxerNKEf755DyEMn8vgnc2UDFv 2C4r3MccON+mmBrmIkh8FB6YOf/Ov6+q/xXdpvcElwzxrIwP1syk56IaZCHtRGF1sbyR1z hiCwwwTf2IuZsFoW7r+nWNocedhwF5niF2+m1VEmFbrApa3eeaM7yMT+6+/eXcVmWPO9XZ lTmT2q1Dpo/hVsiNtuGdea/TAWVsmoi5xgE35L4EWVCfUTpsLjSjuytp0xCB0s3A== Received: by recvd-5f9ffdf494-p87f5 with SMTP id recvd-5f9ffdf494-p87f5-1-675ACA25-6 2024-12-12 11:33:57.785174908 +0000 UTC m=+2384135.391231370 Received: from herokuapp.com (unknown) by geopod-ismtpd-5 (SG) with ESMTP id HM2n5OI3RHi8J7j-fInVrw for ; Thu, 12 Dec 2024 11:33:57.727 +0000 (UTC) Date: Thu, 12 Dec 2024 11:33:57 +0000 (UTC) Message-ID: References: Mime-Version: 1.0 X-Redmine-Project: ruby-master X-Redmine-Issue-Tracker: Feature X-Redmine-Issue-Id: 20884 X-Redmine-Issue-Author: Dan0042 X-Redmine-Issue-Priority: Normal X-Redmine-Sender: mame 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-Redmine-MailingListIntegration-Message-Ids: 96891 X-SG-EID: =?us-ascii?Q?u001=2Ep+ckLDtT+4Y5c+H0YCkEnsuWiCQmn3OZA=2F9FzjoR6ZZlPaMv54M7EFoSM?= =?us-ascii?Q?CX5Trc79ep2R5F+0oYS4n23jq1cvxDdr2Go33+z?= =?us-ascii?Q?YHT=2F3v2PJSTi2FdWkZ9m+Y86MaU5Z5zFQSaxOVl?= =?us-ascii?Q?PCkFZCDFRZ1NfqlE8Zk2PKdO9ayKajCa55vPPTF?= =?us-ascii?Q?M1Ek20dfF6iwnxQ4Opwsk9rUiYQovkJ=2Fppz6EcB?= =?us-ascii?Q?gZ1WXKUr0N4lL=2FlYXxXkhocS9=2FUamRf5MoNK5tj?= =?us-ascii?Q?wocL?= To: ruby-core@ml.ruby-lang.org X-Entity-ID: u001.I8uzylDtAfgbeCOeLBYDww== Message-ID-Hash: XJRNNSE4M6H45RFRDB7KZ245EJCMVOPC X-Message-ID-Hash: XJRNNSE4M6H45RFRDB7KZ245EJCMVOPC X-MailFrom: bounces+313651-b711-ruby-core=ml.ruby-lang.org@em5188.ruby-lang.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list Reply-To: Ruby developers Subject: [ruby-core:120214] [Ruby master Feature#20884] reserve "Ruby" toplevel module for Ruby language List-Id: Ruby developers Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: "mame (Yusuke Endoh) via ruby-core" Cc: "mame (Yusuke Endoh)" Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Issue #20884 has been updated by mame (Yusuke Endoh). Discussed at the dev meeting. @matz decided that Ruby 3.4 warns when ::Ruby is defined. ``` $ ./miniruby -we 'Ruby = 1' -e:1: warning: ::Ruby is reserved for Ruby 3.5 ``` If there are no major problems, it is likely that `module Ruby` will be predefined in Ruby 3.5. However, note that what to put in the `::Ruby` module requires futher discussion. * `Ruby::Backtrace::Location` was opposed by nobu. * `AbstractSyntaxTree` is in RubyVM to make it explicitly implementation-dependent, so it will not be moved to `Ruby::`. * No one sympathized with `Ruby.argv0` in the dev meeting. `Process.argv0` is good enough. * #6648 is not agreed at the specification level, and I think it is unlikely to be a class method in `::Ruby`. ---------------------------------------- Feature #20884: reserve "Ruby" toplevel module for Ruby language https://bugs.ruby-lang.org/issues/20884#change-110976 * Author: Dan0042 (Daniel DeLorme) * Status: Open ---------------------------------------- `Ruby` would be a convenient namespace for many features of the Ruby language, in particular APIs related to the interpreter. All these constants: RUBY_VERSION RUBY_RELEASE_DATE RUBY_PLATFORM RUBY_PATCHLEVEL RUBY_REVISION RUBY_COPYRIGHT RUBY_ENGINE RUBY_ENGINE_VERSION RUBY_DESCRIPTION would have made a lot of sense as `Ruby::VERSION` etc. `Thread::Backtrace::Location` would have made a lot of sense as `Ruby::Backtrace::Location` `RubyVM` is considered specific to CRuby; so `RubyVM::AbstractSyntaxTree` should be `Ruby::AbstractSyntaxTree` if it is meant to be present in other implementations. In #6648 there's a bit of contention over where `ruby_args` should be. `RubyVM`, `RbConfig`, `Process` have all been proposed, but `Ruby` would be an excellent choice. `Process.argv0` was added in Ruby 2.1 but the `Process` namespace is really about OS-level process control (fork, signals, euid, limits) while this argv0 is not (in `ps` it's neither value of COMMAND nor CMD) so it would have made sense as `Ruby.argv0` The "ruby" gem name is reserved, so there's no conflict. https://rubygems.org/gems/ruby All in all, "Ruby" is an appropriate namespace for many Ruby things. We don't want to break compatibility over this, but we could at least start small by reserving the namespace, and see how it grows from there. module Ruby VERSION = ::RUBY_VERSION end -- https://bugs.ruby-lang.org/ ______________________________________________ ruby-core mailing list -- ruby-core@ml.ruby-lang.org To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/