Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:111040 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 60914 invoked from network); 16 Jul 2020 09:34:23 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 16 Jul 2020 09:34:23 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 18EC8180506 for ; Thu, 16 Jul 2020 01:27:17 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,HTML_MESSAGE, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 X-Spam-Virus: No X-Envelope-From: Received: from mail-ed1-f42.google.com (mail-ed1-f42.google.com [209.85.208.42]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Thu, 16 Jul 2020 01:27:16 -0700 (PDT) Received: by mail-ed1-f42.google.com with SMTP id dg28so4136512edb.3 for ; Thu, 16 Jul 2020 01:27:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=yY/lGRhhp7x+HZ7P8B5X2xVIXS0BD7dQJZed/j/kV+o=; b=gERyYqMlddiQTsGN2+6nWGavMc+iNpOO5M50KE3Afs6vVAFGk8neItZQB52V5M0Jtn VAC1c1CeT9ut5x7H/1oyG33kg1NkpxOCQ9Lo0wqq8GXGIgeNJXXJ4lyCGS/M5EPH96Jv GFULv2zYSWwYTaWF49uGJIjlzn0+OWsjq5VWz/A42cPPhnv5Q0Jkd/ocV+FXTjDSDX5V hY5WuOInBjgKTmIgUzrCcwBV73Y06ybq4lI60noOUXBoVuj+EsRS+edj6at1HBE/bfG/ rLJWwgjtEZ7ywAcTuB0BMOc0KtQdWc5zABeMCrZggOTxudNvP/PTmYB21vOlxY9sVFtz /EEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=yY/lGRhhp7x+HZ7P8B5X2xVIXS0BD7dQJZed/j/kV+o=; b=MSFJkpteAlRev8aLH4VbSlpxHzcHPwks5PBhzJ3DE1DCqCdsuJyrgqSS74+E2+0yzY 69Ze1ilhoUHN9jCDU2kNe+LRlUMBbhKgUieXFtBbsbjV0o0o2ewQ3Bnz11NmqDKKwSWx dCraz3z4j2LgW/NqCmoTlPndh3zQKCflOnKaRq09ciS8BddKF6yUs429hOzoa9Ob/fKa cFPpIzIhJognEwUGsUKyOFvUx2rvO6kEWyv7G9obPl75C+S+yAHM3dlWsRaP/CfjvTIi rTFMTDcT4hPPceQ0fjSdh/5gDOClxhUltc38VtF4+aruB3wHN8kbOR5uTnRvcZgLCJv3 uJBw== X-Gm-Message-State: AOAM531r1OKFPKQTjyAYvWuwarKCO4/sDJhAaBBX2Pdp9yjuivPV/heH NP15zlYLi7Ql3u/w4eIAyjsMRW65ioXL1aSBLfY= X-Google-Smtp-Source: ABdhPJz/HsQyaPmoe3AdlY2L5mDAqJV5jgCKPWGu+IsNSikqZim4zREyxUZ5w53P6SaHfzfTzJg4WA7UWQCKU6+RIwA= X-Received: by 2002:aa7:c80f:: with SMTP id a15mr3243015edt.299.1594888034772; Thu, 16 Jul 2020 01:27:14 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: Date: Thu, 16 Jul 2020 10:27:02 +0200 Message-ID: To: Nikita Popov Cc: tyson andre , PHP internals Content-Type: multipart/alternative; boundary="000000000000c4e8f105aa8ace22" Subject: Re: [PHP-DEV] Re: [RFC] Treat namespaced names as single token, relax reserved keyword restrictions From: nicolas.grekas+php@gmail.com (Nicolas Grekas) --000000000000c4e8f105aa8ace22 Content-Type: text/plain; charset="UTF-8" > > > > I have reduced the scope of this RFC to handle just the issue of > > > > namespaced names, without touching any other reserved keyword > > restrictions. > > > > As the discussion shows, those are trickier, with more cases of > > perceived > > > > ambiguity that may need to be mitigated. > > > > > > > > As this proposal is now a prerequisite for > > > > https://wiki.php.net/rfc/shorter_attribute_syntax, I have heard > from a > > > > disturbing number of people that they might vote against this > > proposal, not > > > > because they disagree with it, but because that would prevent the > > adoption > > > > of the @@ attribute syntax. I'm not sure what to do about that... > > > > > > > > > > Heads up: I plan to open voting on this proposal tomorrow, unless there > > is > > > further feedback. > > > > One possibility would be to split it up into two separate RFCs: > > (This would probably be too short notice, and this isn't similar to any > > proposal in the past) > > > > 1. An Yes/No RFC requiring a 2/3 majority for accepting the amended `@@` > > attribute syntax with the restriction the original RFC proposed (no > > whitespace&reserved words. > > > > I'd think that very few proponents of `@@` had plans to mix whitespace > > with backslashes in attributes when reading that RFC, and it's extremely > > similar to the original attribute syntax change RFC. > > > > While I don't think anyone had plans to mix whitespace, this is indicative > of a larger issue. While I'm one of the people who voted for @@ as my first > choice before, I wouldn't do so now (even with this RFC accepted). This > issue made me realize that there is more at stake here than just "which > syntax is prettier?" and choices that have a "closing tag" are technically > more favorable, especially if we consider future extensions of the > attribute system that may introduce additional ambiguities (e.g., Rust > allows placing attributes pretty much everywhere in code -- how sure are we > that there will be no unanticipated ambiguities?) > > Probably the most unambiguous treatment here would be to simply rerun the > vote on the short attribute syntax after this RFC is decided one way or > another, but that would be quite a bit of process overhead, for what is a > small issue to most people. > > > > 2. A yes/no RFC for this RFC to affect everything except the choice of > > attribute syntax. > > (i.e. if 2 passes but not 1, we'd end up using `<>` in > > 8.0 and forbidding `<>`) > > > > Just to be clear, the whitespace issue affects only the @@ syntax, not the > <<>> or #[] syntaxes. > It is my understanding that implementation concerns are a valid reason to invalidate a vote, especially when they are found after the vote happened. If we really want to keep the @@ syntax, there might still be a way: the syntax could require using brackets after the attribute name: @@Foo => @@Foo() But I voted for #[Foo] so I'm not preaching my own preference by making this suggestion ;) Nicolas --000000000000c4e8f105aa8ace22--