Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:111150 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 31907 invoked from network); 23 Jul 2020 15:14:36 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 23 Jul 2020 15:14:36 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 27D1F180533 for ; Thu, 23 Jul 2020 07:09:19 -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=0.6 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 X-Spam-Virus: No X-Envelope-From: Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12olkn2061.outbound.protection.outlook.com [40.92.21.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Thu, 23 Jul 2020 07:09:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=M3/nySFe0n8IWvtp7cVdTHQbecg/Kd4EawAJ/BUiFy8Z28I+Koi1ZK58YNFjOOkdEiYExIOsePXhX7/ImSLDAh2A+f02k/zg+jduLHosrJtYXbdSe/LoiQB3slUhLya3pyCfdCyAaaUyGZubW6ldzCwG8A6p1neNcVauTCj273fjNJKA030V0ZngCD8G7NYqy6iXi0MblSNNrrcoBeQ/FDDGExb+UWdtvyMvbOwF5FioHsGK0x3Q+O2+XCs1OX5E4JUuFOAl+E/dzerqSu7usTJbxXeRkiKFGh0oMomSJQGIu2gU8ltLozv+CtSKwbeDBpxs8y3txU8IAgz9ubKfvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=aYkhY6Hz1BsYqYMqAlTnVClBYCADEMqsPTT9qYQSUSU=; b=dGKxSDNAktNt6lDSpvzJuRMvCB3XNi/P7m6t1jOsrDnlT7ROp1IyOqmhX8YP846Fglasiab3+4XfIAfTRK0Whd9Ro/IIdq/27dMPz6twTU9RVdIsbbygDWTjQqyN0eOJmHHLmWSzvaSrnAJVg0hgQplYbhGmEmlkUBY71IwMCxX1dJ4cvNXNJFwtGnVCFZZBEDzZG4llVgv849uW9z5NGtZIXflb4bT0/sOinLe2W3Dp8/mFv+OZ9eQjIKRzLulPnYRaRQZaehPitwzOfIOXTAlMe7Cy5xpT/49n8K20nz4qd0wJ3/P0Cb8SxJK80iXQ5H9c1OSluVswYLgq1mtnlw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=aYkhY6Hz1BsYqYMqAlTnVClBYCADEMqsPTT9qYQSUSU=; b=umQRsmcNrsjCilq8Nj897FxUB4twn/Sfmu4wFzvxzYLZYTmQMAxrzT4L8nmrzQAqWpf+QuYZKZrPdVWJhUynS7Yt9GO4pzmf533SHr77pV5KIEtnwMxOD6YEI8gaJH2lIS3X5fvrAy7AQn6Lsg21bX/ETMeW48UCjN4H9f9q2LeS6HH1wj2xsltunp8oi9dXcfW0EAJ2K0AXwUlMUEplAkd/wbffkyq3BiVzKRpXndob9DTV4voAq6IK5e9dK1wdByZVJyukHn8jOhCqHEySKb5MMxjNXLdtgnNhKL28xbx8+RCxru/5sO5fLane5u4bbtHtYPgFi44qa7JV+iOmZw== Received: from DM6NAM12FT053.eop-nam12.prod.protection.outlook.com (2a01:111:e400:fc64::48) by DM6NAM12HT083.eop-nam12.prod.protection.outlook.com (2a01:111:e400:fc64::360) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3195.9; Thu, 23 Jul 2020 14:09:17 +0000 Received: from BYAPR05MB6535.namprd05.prod.outlook.com (2a01:111:e400:fc64::40) by DM6NAM12FT053.mail.protection.outlook.com (2a01:111:e400:fc64::381) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3195.9 via Frontend Transport; Thu, 23 Jul 2020 14:09:17 +0000 Received: from BYAPR05MB6535.namprd05.prod.outlook.com ([fe80::fc6c:38b0:fa18:f355]) by BYAPR05MB6535.namprd05.prod.outlook.com ([fe80::fc6c:38b0:fa18:f355%7]) with mapi id 15.20.3216.020; Thu, 23 Jul 2020 14:09:17 +0000 To: Mark Randall , "internals@lists.php.net" Thread-Topic: [PHP-DEV] The @@ is terrible, are we sure we're OK with it? Thread-Index: AQHWYB+rUGwGcqcE20Oh+f8rjGIUUKkUHhuAgAA7EQCAAFsIgIAAfAnB Date: Thu, 23 Jul 2020 14:09:16 +0000 Message-ID: References: ,<1ed9899c-3816-4646-bad7-4110e4a68978@DM3NAM05FT049.eop-nam05.prod.protection.outlook.com> In-Reply-To: <1ed9899c-3816-4646-bad7-4110e4a68978@DM3NAM05FT049.eop-nam05.prod.protection.outlook.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-incomingtopheadermarker: OriginalChecksum:6167CADC50813780474BBAD12E2D4E18A5E276597B61638590D66E4E7C7839FA;UpperCasedChecksum:3AC89053DD927692BC148BE76C73A592BD3299D9B4A28A4A00EE2E5F9447D9EC;SizeAsReceived:7221;Count:44 x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [uPCj8gA9YNJEwSSasSRd8ETJpyucAFDQ] x-ms-publictraffictype: Email x-incomingheadercount: 44 x-eopattributedmessage: 0 x-ms-office365-filtering-correlation-id: 4f3ed636-8290-471a-17b6-08d82f11fc85 x-ms-traffictypediagnostic: DM6NAM12HT083: x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: lWeAvQnWjFC18GZVXMHaZ7kqIJhn+vntSbOuaZKi0orR3MU3/jlomqNS34AlWM/pbNJO1UijgcYxZu4fBGJ/f+GyjvC5qbx7CmLHCEZ/eGJWcPy+Eg8nYLJcAetleuBtgSj0G8/pQkeaoibU7tO3AzSeXtq8Wzaetnp+fbydn07Nxd4ttYV7bURjp7WvNqwGFHORJLNl6mzK5Y8z73+PLUwDS5Dp9aOAiY0oZazQjK3bypVPObdgd+9v8CFbsKCU x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:0;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR05MB6535.namprd05.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:;DIR:OUT;SFP:1901; x-ms-exchange-antispam-messagedata: 3tD702V3KIORs0dase72vzf5e+J3vsvsXqiV9bO144eVnGUxvRJwOv8sn1ikOGjBrXN0i6PwIZH5q1o29uyzZP0cXU57faL/hK46r/caIjjMgFBaGIatoSlZrFmqdO0Y6g7tbzDmoIwK8QAyVU5lAw== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-AuthSource: DM6NAM12FT053.eop-nam12.prod.protection.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 4f3ed636-8290-471a-17b6-08d82f11fc85 X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Jul 2020 14:09:16.9685 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6NAM12HT083 Subject: Re: [PHP-DEV] The @@ is terrible, are we sure we're OK with it? From: theodorejb@outlook.com (Theodore Brown) On Thu, July 23 2020 at 1:26 AM Mark Randall wrote:=0A= =0A= > On 23/07/2020 02:00, Sara Golemon wrote:=0A= > > Regards the vote; I don't believe that @@ has been proven unworkable,= =0A= > > however if I'm wrong about that, then the second choice selection from = the=0A= > > last vote would obviously take precedence.=0A= >=0A= > I don't believe the concern is that we have something unworkable sitting= =0A= > in front of us right now, after all if that were the case we would not=0A= > be needing to have this conversation as the RFC would already have been= =0A= > rendered void.=0A= > =0A= > What we do have, is a deep sense of unease that we collectively made the= =0A= > wrong decision, based on, in part, incomplete information.=0A= > =0A= > While the initial block to @@ has been remedied by a larger=0A= > language-level change, that the problem existed at all provided a clear= =0A= > example of the widely unforeseen challenges associated with the @@=0A= > syntax and its lack of closing tags, and focused renewed attention on=0A= > long-term consequences which where perhaps not given enough=0A= > consideration during the vote.=0A= > =0A= > There has been one occurrence already, there will likely be more in the= =0A= > future. But what specifically will they be and how severe? We likely=0A= > will not know until they happen.=0A= =0A= Hi Mark,=0A= =0A= I don't agree that there "will likely be more in the future". When I=0A= asked Nikita if he could think of any example that would end up being=0A= a problem, the only one he listed was a infinite parser lookahead=0A= requirement if a) attributes were allowed on statements and b)=0A= generics were implemented with curly braces instead of angle brackets.=0A= =0A= He noted that "it's unlikely we'd actually do that" and ended his=0A= email by saying "it is more likely than not, that we will not=0A= encounter any issues of that nature." [1]=0A= =0A= The @ attribute syntax has been used in other C family languages for=0A= years, and to my knowledge hasn't caused any problems in practice.=0A= =0A= It is actually the <<>> variant that is more likely to back us into a=0A= corner when it comes to future syntax like nested attributes (the RFC=0A= authors considered it to cross a line of unacceptable ugliness,=0A= and the alternative `new Attribute` syntax has technical problems).=0A= This may be one reason Hack is moving away from it to @.=0A= =0A= > But what we can say with reasonable confidence is we have an option=0A= > on the table that is technically superior=0A= =0A= I don't agree that #[] is technically superior. The implementation is=0A= virtually identical. The main practical difference is that hash=0A= comments could no longer start with a [ character, which would be=0A= surprising behavior and a larger BC break (there's definitely code in=0A= the wild using this right now).=0A= =0A= If you have a concrete example of syntax that is *likely* to cause a=0A= problem with @@, please share it. From my perspective, @@ is closest=0A= to the syntax used by the majority of C family languages for=0A= attributes, and thus is *least likely* to present future challenges.=0A= =0A= Best regards, =0A= Theodore=0A= =0A= [1]: https://externals.io/message/110568#111053=