Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:114687 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 9224 invoked from network); 2 Jun 2021 01:17:38 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 2 Jun 2021 01:17:38 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 1717C1804AE for ; Tue, 1 Jun 2021 18:30:46 -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.0 required=5.0 tests=BAYES_40,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,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-Virus: No X-Envelope-From: Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12olkn2011.outbound.protection.outlook.com [40.92.23.11]) (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, 1 Jun 2021 18:30:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kK9CpmWNzoyAgq6I6PaCdb53jWHQBy06NmYyKVCfbF7jJVegb+aiLfK2Yp90I37zHnVhbvezdOOXekSkyV5l706dZ392WMtIP9ba2dbM/U13Wb9CBW6Xr+u/zVhDjmMvahOll0uvsiA6ZenwWMtjjUfbfpDn5JJVQGz/pkgKyMCIsMF+NknqSYPFRWamZL1bvzLTfwwSsQF4bEoJCYW0kwtfNyvqW8nNUjiMWCg05FF1zWjcbeg7XG5dyytPcqU9znFGESYmi24/I+AhY6KXCO/HHmdIDIkBI4X4202nkepcq1WO1fMa8wwbFtZTs9CxXgC10PDQ0unUTcTt3WRGNw== 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=oLHbWDkqc9YzKIwikwX1f+ZNCDLqytv0XNFv0CElqh4=; b=Dtby36DxUtJeYz7BQCzMJ2zO09uzg8dIDKc7t9wsvBXz1Q4gIXCMQUPbflACBLs7do8VDthxQPxMNNxGAy3NPmkdjUOWdrAu6ixe3Jh6VbDePvcuXtUY4lUaDQ+pfutkUvA1Viu8Vy7BfaOyzebvhFbO2GMpgnkS0omwc9mwc0cRbN1qbh/3dZSQk2YzoQgBpP7wC5nk/cy9JjKuy0p58lKGkWMuxD7vvS51gcdCff4FoUPwe6nMJN+ZqEp0YZEms1n4pOoo94y/cNFgaSM9IczLMSgWXXGqbWvk4DgnXAsCpu5UvztjhLAHyyZuQYAQlfIB7TUNStZBD7AH0IPsHw== 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=oLHbWDkqc9YzKIwikwX1f+ZNCDLqytv0XNFv0CElqh4=; b=PwO/94MRVR4esj+FObkLOo8640WfqVU1GUkdpvVkk2FS7VbifZD1RYDZ3loXecO+FfmH8tSqI4wtMXqQZc1RnXsm5HhBw8yuVhqmGkqP9m9D+S0FHfQz3wQ36oRmc0gojVvPXWiY92+KqWdPjrVhub5kerXmhv5wlnlBAr1KWW/AFb+K8WAwpSivvCHSX6EvCLCiuH1iy3RIfu7ALvQgl/OcF3GmY94h/AEXeAyyZhkeclhVk0JY/K/atcuGWO8egwauxcIVFr4QTvpmJS4aIAVH3qhiEujYYP2I7uxWPbLdGF9KDg1RG5TBDqV0Lt5pAGPw0TLuXcXwRh0jFDtIuQ== Received: from MW2NAM12FT041.eop-nam12.prod.protection.outlook.com (2a01:111:e400:fc65::45) by MW2NAM12HT013.eop-nam12.prod.protection.outlook.com (2a01:111:e400:fc65::264) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4195.10; Wed, 2 Jun 2021 01:30:43 +0000 Received: from DM6PR07MB6618.namprd07.prod.outlook.com (2a01:111:e400:fc65::49) by MW2NAM12FT041.mail.protection.outlook.com (2a01:111:e400:fc65::257) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4195.10 via Frontend Transport; Wed, 2 Jun 2021 01:30:43 +0000 Received: from DM6PR07MB6618.namprd07.prod.outlook.com ([fe80::20ed:6cd1:4fe2:eea7]) by DM6PR07MB6618.namprd07.prod.outlook.com ([fe80::20ed:6cd1:4fe2:eea7%3]) with mapi id 15.20.4173.030; Wed, 2 Jun 2021 01:30:43 +0000 To: "internals@lists.php.net" Thread-Topic: "Namespaces in bundled extensions" and iterable additions to the standard library Thread-Index: AQHXVZR8x6CXC/D28EqR5pNYkQtwkw== Date: Wed, 2 Jun 2021 01:30:43 +0000 Message-ID: Accept-Language: en-CA, en-US Content-Language: en-CA X-MS-Has-Attach: X-MS-TNEF-Correlator: x-incomingtopheadermarker: OriginalChecksum:1BFF5B929E7809247FEDB70B1B65133E0B6C52DA3B671DEA16C63CAC286E9D9C;UpperCasedChecksum:B1A79516221FEFE032346C07A7F4EAB478714619E2573E3ABA546B85AFA911CA;SizeAsReceived:6871;Count:41 x-tmn: [HvO94GxkXTywUsAI3EiGgT4O5EPEENocG46UP5PmyaxQblCn5ubEQ+FXL1/EooDH] x-ms-publictraffictype: Email x-incomingheadercount: 41 x-eopattributedmessage: 0 x-ms-office365-filtering-correlation-id: adf9936d-cf30-42fa-f1c1-08d9256609fe x-ms-traffictypediagnostic: MW2NAM12HT013: x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: /a1kAj4YSSsNaat01/bUB2HVQaopJ8IMH8bI9qgiM5LigW5/L930z80TfPc48D35PolapkApC9KgxOZn1DZaIPStiq4Hr+RA30YmX5iyqCYCuDNusUQ3LVLGDvyzg2WCyU/H92DQMA5eR9xYgBLCK2gV+SQv4ubffrXKmFsItZXs1ZXECMiDjnMp4RctaDD4gIBZaJQ6cqoVjdzBhfRBVFjY+TJXkvtdmPBpCJbR4HH9xJCkzNXsfiP+jELl7zhKJ6+t2zQea/nIqXTU8GYxvgzPy4951xKMeD4012wGsV75qxtXc5SdlIYvsjBkFcs4JM0bTX5scGels6ppqxkqgvz4YvDgQKqF1aN7lJeF5tIQfbXli83NuM50hiWDgjvERzGuNyKYeOudroUB+mMThydBh0Jvlsq0mg5OPq/1Zd/5/3sCL6Uk3siwSK5Kj8j/ZZDJH4lpnpFPPkcj/z0wkw== x-ms-exchange-antispam-messagedata: NaSBSKGMdNcPB/st600a42yO6gHTiY1GLGTvo3uH56mxzJVC0rDOCTo14aHDHFfRvso3cM/lUHmsgo2WCldxGNJQ3uER1kO69a97pm/vALETqBFJHo1zBI3jqT2z7vJMorhxXSzfxlWDc4fKTsEB1hIhrBNnaMIT93Q3chB5W5fEUYib8KwGu1KR8UEL9iAcBTKTugddIFsnCdmTtJjEAg== 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: hotmail.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-AuthSource: MW2NAM12FT041.eop-nam12.prod.protection.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: adf9936d-cf30-42fa-f1c1-08d9256609fe X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jun 2021 01:30:43.3011 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet 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: MW2NAM12HT013 Subject: "Namespaces in bundled extensions" and iterable additions to the standard library From: tysonandre775@hotmail.com (tyson andre) Hi internals,=0A= =0A= Recently, there have been 3 proposals to add functionality related to itera= bles/iterators to the standard library where voting was postponed for reaso= ns related to namespacing policy:=0A= =0A= 1. https://wiki.php.net/rfc/any_all_on_iterable - where major objections we= re not having enough functionality and the choice of namespace.=0A= =0A= If this did go with a namespace, I believe iterable\any(), iterable\all(= ), etc. would be reasonable.=0A= =0A= iterable\X was the most popular choice among choices with a single names= pace part - https://wiki.php.net/rfc/any_all_on_iterable_straw_poll_namespa= ce=0A= 2. https://wiki.php.net/rfc/cachediterable - My preference would be iterabl= e\CachedIterable.=0A= =0A= With this being one of the first proposed namespaced additions to PHP, I= felt obligated to gather feedback on alternative namespace choices.=0A= 3. https://externals.io/message/113061 and https://github.com/php/php-src/p= ull/6535 by Levi Morrison - I'm uncertain of the status of this, e.g. what = name the author had planned to go with "Namespaces in bundled extensions" n= amespace RFC passed weeks ago.=0A= =0A= https://wiki.php.net/rfc/namespaces_in_bundled_extensions passed 37-1, but = as nobody has created any RFCs using namespaces that I know of,=0A= I'm uncertain if voters would prefer namespaces over the global namespace i= n practice for extensions that already have functions, and even if namespac= es are preferred, there may be multiple candidates.=0A= =0A= I plan to start a straw poll (https://wiki.php.net/rfc/cachediterable_straw= _poll) in a few days to gather information on=0A= =0A= 1. How voters interpret the https://wiki.php.net/rfc/namespaces_in_bundled_= extensions RFC for existing namespaces,=0A= as it makes recommendations but also permits the global namespace for n= ew functionality consistent with existing functionality - the way I expect = voters to interpret it may be different from how it is interpreted in pract= ice.=0A= =0A= iterable_all() seemed to have been preferred over iterable\all in the pr= evious straw poll.=0A= However, I would expect https://wiki.php.net/rfc/namespaces_in_bundled_e= xtensions to shift that preference towards namespaces but there have been n= o votes on an RFC using namespaces yet.=0A= =0A= Additionally, I didn't notice this earlier, but the RFC recommended (but= didn't mandate) that "Namespace names should follow CamelCase." - so I'm n= ot sure if iterable\ or Iterable\ makes the most sense to others.=0A= 2. To see if there's interest in that functionality before spending too muc= h time on it. E.g. for CachedIterable, https://externals.io/message/113136 = had little feedback=0A= but would enable implementing a standard library for iterables thtat wa= s much wider in scope (e.g. iterable\flip(), iterable\reversed(), iterable\= take(), etc)=0A= =0A= (Sorry - It is difficult to tell if feedback from a small number people on = a mailing list is representative of the majority of voters and there have b= een no RFCs for me to look at as a precedent).=0A= =0A= Questions I had:=0A= - Did anyone interested in adding CachedIterable have a different idea for = namespace choices that should be included in the poll?=0A= - Did anyone have feedback on whether iterable\ or Iterable\ makes more sen= se - Personally, iterable\ seems like it should be an exception due to it a= lso being used as a soft reserved keyword that is typically lowercase.=0A= - Any feedback on CachedIterable's functionality?=0A= - Any other feedback?=0A= =0A= Regards,=0A= Tyson=