Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:116870 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 62135 invoked from network); 11 Jan 2022 12:35:45 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 11 Jan 2022 12:35:45 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 079341804B1 for ; Tue, 11 Jan 2022 05:44:42 -0800 (PST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_HOTMAIL_RCVD2, FREEMAIL_ENVFROM_END_DIGIT,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-ASN: AS8075 40.80.0.0/12 X-Spam-Virus: No X-Envelope-From: Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11olkn2106.outbound.protection.outlook.com [40.92.19.106]) (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 ; Tue, 11 Jan 2022 05:44:41 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gzgKucG47GA6+PxGIVDntABL2NpPaUKFRgxNDY4C+u3hyCo+E+vgcQAZ6loEhH0rKro6yfJ7rsjyQkAghOjBWmlIWmuwL6cDX2/yL8EnV/qfR4mf06+Xg59f5VuQ9EUjZwPhCIsPudQ5HLU+JBY+WBZ3O5fFmFK0FR4QHUClGL0ZRO7JlLO2za95/wRRpInoRrSiklJRHbSlsdZ/Umrc7L59BwQN2x8TkPjPo9UeWZG+nKUpx3wltic/1y0yUpJ+ZXSaAEDg/K1KPVoaQwgGNkuT2VpkM8jcdpbxFNtA3TdIR2hlPrSxUORGLhjp0+BRdQoYDUg2Ktlpr56hu/bi3g== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=85iAzHOkFZNTFpha/dZqc9b00xxfiiFIUNAqOiiIL9o=; b=gk2y4svTsOKfqBAA1L/v7wTzKekdKnoiuMbg472ZMyBDw6snFPMx+L4ptVNe5785J/Cr8eX1W1AVsHeJqFE/VarNTt3zARhkfraZxP27H9UOUU95c/akxHTDZNpY7Ttm1ivpCyqrZGeFI+eVJKhaCk8QFZGUGfKDc8ghoRH9K3zA3NKyQ64tzUiv2+ZaFmn5l+eAQpqSXyoPf10H9n+itvwYPv02W0hTWTzfLdmYw6BjGGbymjE4AzRnBagwmVJxtn8sKLIYwBbyGdc0ZXdxWcvHyXKOJmP6AK4Aam05DtgKpjoRERpzKTVfO8+RpAkhCD+F5S9n/hxLtZCp+NqeTg== 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=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=85iAzHOkFZNTFpha/dZqc9b00xxfiiFIUNAqOiiIL9o=; b=n7JQFxYurfSjuPL+6YflaVBebDJyB/W6D1ygu+Wv/JwpditeBrpKTLPxJqr6Oer0Ubub9lpdhYNmEKsWxjIEfcqyTbmJGSlRlrE9cxZRy3ZaYARjTqmHCtX99CE8dpHOrGmXy9kPcfhmBS403lcc+fSIHhRbkvmZWGSb5WEMuBcykLg+GD8k6/Nd8pDcC6LrMECHYR2ZXkSCgZz2bVpPgHzEpd/Qad0lJTTdvFoUExT+ZdR9laQ3u+Ti1ITfYt/XyFs+yWNNasOLlhV5/3j4stYjorcKJfLec3ULWTELLAqUrsZBR3Iast61HEu2a8O2b6IjXjLY+eypYJeG5Q1Knw== Received: from DM6PR14MB4155.namprd14.prod.outlook.com (2603:10b6:5:21e::11) by DM5PR14MB1484.namprd14.prod.outlook.com (2603:10b6:3:d0::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4867.11; Tue, 11 Jan 2022 13:44:40 +0000 Received: from DM6PR14MB4155.namprd14.prod.outlook.com ([fe80::1ddb:6eeb:a96d:9846]) by DM6PR14MB4155.namprd14.prod.outlook.com ([fe80::1ddb:6eeb:a96d:9846%4]) with mapi id 15.20.4867.012; Tue, 11 Jan 2022 13:44:40 +0000 To: "internals@lists.php.net" Thread-Topic: [PHP-DEV] (Planned) Straw poll: Naming pattern for `*Deque` Thread-Index: AQHXroS7YGugvAukqkKHqJ49b74ipqxd23MAgACqNlI= Date: Tue, 11 Jan 2022 13:44:40 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-CA, en-US Content-Language: en-CA X-MS-Has-Attach: X-MS-TNEF-Correlator: suggested_attachment_session_id: d71683f7-a22b-d70b-996c-e9105aa112a7 x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [a0kYasw1DW9aXqcJ/jA8FuDXvCYAe/l0Gs1KmtZovw/6VO9E48ziGu4Rm+p/cyXLZl2Ttlp+yZs=] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 6100d598-2ff6-4191-6aee-08d9d5088417 x-ms-traffictypediagnostic: DM5PR14MB1484:EE_ x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: tWMs43vlLt9+LURJf3X6pgjo55JpLQJ8U5ZOyJldnqF4PzUgv6DzCJouxYiC+naX3U7RWblSSwrtizNJEXfovYimRldVZkolNo58RUyugCdhcA6iFlM6JKXgfD0Tecaod6ZalVZL88+gatRA+SsDizyoRwTV3jfPsWUJqrutUNfPob517+dclP1JvaMOHFrt62eCG8WXz2txbW/qPjkGFWVE4mzqULxNo6ojq2TGtS307fFb4+MyX+i94okUXgFT/Pae4k9KkZ90mfI0gJIWEZ8iat/v1CSKdMqJZTJ3NY5t3SWBN1WKQ0k0ocCQucL0HFluW9c+pannPWapzLq3R9o674Hgm6K0o28UGG0kR6t17Vc6VbSwp5WJoYr7L+2l9gjM2cXabs79hQCLmxPLRWQTzHZ647ZTGjIrDeObbXBSpaTLKFFgzR8+DetKmuHm5mlLYSMebAfYdmLTro0wTHMwiQCf8J8PmDO91vCF0XkPIce5OUYkte9p9qYfsBB+NwzuJShgN8UN3kjflzeUk4nwd4PvJnukMmU8hrloPjGrd4/ScM9IfBTBTDtWJm0cIPcPpNpiVFtttatY+d+J+zXuXkFAUA+jJLk5p3Ot2ybPXzCABuuanCekQLC9DFpckKto6B0ZiAyTFfvyvewYeT9RfCSPsGcgwTzJI6NPLss= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?ZH7QIBodoMompnRqqCXsC1PL27XZEYnTBJKMS5qJYo8bvjcig4ct1yvSLI?= =?iso-8859-1?Q?M7X7cCSh7k/GrHbdn3s/RnpzNrhDa0RNJ3Poeg2XvXV49sSWpPkvabN26W?= =?iso-8859-1?Q?X0/6sLWEIJZd1rdC1OVMfxYRLCU4yirPRe+FfZ8mTtKggd57/opHSjrDpI?= =?iso-8859-1?Q?RlvoMmJbsyDKADIutj1Dul4R574V+gHmAMaLCmJ1fH94l0wZVINDj6MDBt?= =?iso-8859-1?Q?Wp0I6iOQ+pKDbWqr/bQh+Jq+2W89me0aFKaSBgqtVV5lfaYlzZ34bviQYh?= =?iso-8859-1?Q?vD2UAs5mMNL+2iKtUwsm2ZpaSxWf07CtYl3jI2MFOkGjl49BRk7aQHccpW?= =?iso-8859-1?Q?ekkx2h5Xxef6nzhhZWeyIvfgt9PTqv5bT5w27lVMGdQfZxqAWhzmU1SMIm?= =?iso-8859-1?Q?4W1pC8yAtToBfD4N4edCjs9bK7APLUjisX2b2Q3V2tyo94ZmNYSoFqqA+D?= =?iso-8859-1?Q?sxX0PmVQWoN9svL+gyvS4VhT+4t3teBJDLgCK9Hb/T610o14IqYCb4jk3O?= =?iso-8859-1?Q?n0ZT0h3wVqO+fIlvwyZrLhWCVUP45qHvTKxWrienf0AR0yEz3dqHrV+G/M?= =?iso-8859-1?Q?7ZKmqCe2lUzmO2e331DXpcxGHR18c6hmzOslYpmPIDZAYpz66WdoLzDugJ?= =?iso-8859-1?Q?OTlTJwBwwGtrtmafWB5y/EAeSzbVaau6uCeAqHc2IF49yjD9oK+3p5/Vvj?= =?iso-8859-1?Q?XgObAsp5Rmdt28xYa4yfzA0SMCf+235tAYw4wZrcEOK1eUQLwMMMpcVX/K?= =?iso-8859-1?Q?WnWmIzfP4TGjUphim+UV6HSfUUMpavwhW9JetX/X8jMeFzmNdTrbEVr0Yy?= =?iso-8859-1?Q?rJO03vQuRDJSErxgbFcKN/njl0XUbMkXxQvmMT0of/ep+AQL0nZYCkPaYF?= =?iso-8859-1?Q?mzt7EwYf427wTzBJa07e/biuhTiAQ0NjFb5CxBKJFIc23EA/ooE1jymEd7?= =?iso-8859-1?Q?4ghUed8A0rPHuh9dEnYio9D0gZLvJl0vOvwpZEjtjsEx8K4BY9JV9lkBia?= =?iso-8859-1?Q?/LOR0FvDJ2Sk71U5a8izcRgomJ2HMEWSwXlki7gaxsWNidSInlc4J5opk2?= =?iso-8859-1?Q?Jg=3D=3D?= Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-cd57b.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR14MB4155.namprd14.prod.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 6100d598-2ff6-4191-6aee-08d9d5088417 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Jan 2022 13:44:40.1592 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR14MB1484 Subject: Re: [PHP-DEV] (Planned) Straw poll: Naming pattern for `*Deque` From: tysonandre775@hotmail.com (tyson andre) Hi Pierre,=0A= =0A= > > While there is considerable division in whether or not members of inter= nals want to adopt namespaces,=0A= > > I hope that the final outcome of the poll will be accepted by members o= f internals=0A= > > as what the representative of the majority of the members of internals= =0A= > > (from diverse backgrounds such as contributors/leaders of userland appl= ications/frameworks/composer libraries written in PHP,=0A= > > documentation contributors, PECL authors, php-src maintainers, etc. (al= l of which I expect are also end users of php))=0A= > > want to use as a naming choice in future datastructure additions to PHP= .=0A= > > (and I hope there is a clear majority)=0A= > >=0A= > > -----=0A= > >=0A= > > Are there any other suggestions to consider for namespaces to add to th= e straw poll?=0A= > >=0A= > > Several suggestions that have been brought up in the past are forbidden= by the accepted policy RFC (https://wiki.php.net/rfc/namespaces_in_bundled= _extensions=0A= > PHP: rfc:namespaces_in_bundled_extensions=0A= > Classes and functions provided by bundled PHP extensions are currently al= l located in the global namespace (with one exception). There is a strong s= entiment that future additions to PHP's standard library should make use of= namespaces, to the point that otherwise unrelated proposals increasingly d= egenerate into namespace-related discussions.=0A= > wiki.php.net=0A= > )=0A= > > and can't be used in an RFC.=0A= > >=0A= > > - `Spl\`, `Core\`, and `Standard\` are forbidden: "Because these extens= ions combine a lot of unrelated or only tangentially related functionality,= symbols should not be namespaced under the `Core`, `Standard` or `Spl` nam= espaces.=0A= > > Instead, these extensions should be considered as a collection of dif= ferent components, and should be namespaced according to these."=0A= > > - More than one namespace component (`A\B\`) is forbidden=0A= > > - Namespace names should follow CamelCase.=0A= > Besides the namespace thing (collection is fine imho). What is the=0A= > reason to have it final?=0A= =0A= Do you want singular Collection included as an option in addition to plural= in https://wiki.php.net/rfc/deque_straw_poll ?=0A= =0A= The reasons it was a `final` class in this RFC was described in https://wik= i.php.net/rfc/deque#final_class.=0A= It's easier to change a `final` class to a non-final class with final metho= ds if needed later on.=0A= (final methods so that array access, etc. continues to be fast, easy to rea= son about, bug/crash-free, etc)=0A= =0A= > For collection in general, would it make sense to have a common=0A= > interface representing the minimum expected API? If possible, then=0A= > algorithm specific on top? a bit like we have with the traversable=0A= > interface and related.=0A= =0A= =0A= php-ds does this as https://www.php.net/manual/en/class.ds-collection.php a= nd I've been considering it=0A= =0A= Still,=0A= - With union types and intersection types, it's still useful but isn't as c= ompelling.=0A= - There's the choice of namespacing to consider for the new namespace (`Col= lection` vs `Collections\Collection`).=0A= - It didn't seem as useful until there were more datastructures to choose f= rom and situations where more than one would be chosen.=0A= - It couldn't be used until support for php <=3D 8.1 was dropped by applica= tions/libraries, so it'd take a while to be adopted.=0A= =0A= Thanks,=0A= Tyson=0A=