Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:92784 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 72983 invoked from network); 26 Apr 2016 14:25:13 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 26 Apr 2016 14:25:13 -0000 Authentication-Results: pb1.pair.com smtp.mail=dmitry@zend.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=dmitry@zend.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain zend.com designates 157.56.110.116 as permitted sender) X-PHP-List-Original-Sender: dmitry@zend.com X-Host-Fingerprint: 157.56.110.116 mail-bn1on0116.outbound.protection.outlook.com Received: from [157.56.110.116] ([157.56.110.116:13280] helo=na01-bn1-obe.outbound.protection.outlook.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 31/21-02401-74A7F175 for ; Tue, 26 Apr 2016 10:25:12 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=RWSoftware.onmicrosoft.com; s=selector1-zend-com; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=OSEzsiQk74e8Hwq0FRaHF/hSZVYgIvSmpo6Brw3UBpU=; b=0aI0gnfnbNugvvZmqhzZlt4xFkNPwXTqwQExXuv1Asi+FU5IfCP2lCLl89r3iDa0hvIIJj37aaNqKOd52iKD/FCyQ4ws6ZV+x9LuSlmHpkWrHmg0ksI9gN/1mUAZCIM0e32GRNuTeQWXYa25sMAvpeOsvhgOigMSHMRAkHTl+lA= Authentication-Results: hotmail.com; dkim=none (message not signed) header.d=none;hotmail.com; dmarc=none action=none header.from=zend.com; Received: from tpl2.home (92.62.57.172) by CY1PR0201MB1786.namprd02.prod.outlook.com (10.163.55.19) with Microsoft SMTP Server (TLS) id 15.1.477.8; Tue, 26 Apr 2016 14:25:04 +0000 To: Joe Watkins References: CC: Levi Morrison , internals , Bob Weinand Message-ID: <571F7A2D.5080000@zend.com> Date: Tue, 26 Apr 2016 17:24:45 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.7.1 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/alternative; boundary="------------060006060707080300030507" X-Originating-IP: [92.62.57.172] X-ClientProxiedBy: HE1PR06CA0058.eurprd06.prod.outlook.com (10.164.28.154) To CY1PR0201MB1786.namprd02.prod.outlook.com (10.163.55.19) X-MS-Office365-Filtering-Correlation-Id: 13dd3357-84ad-424c-2fa5-08d36dde9197 X-Microsoft-Exchange-Diagnostics: 1;CY1PR0201MB1786;2:GEF1OMY18kJQVR7gd5Qq5fl1zi8rRK8bgwKG2pHyVC4d2H1mOSVdABWaUSg6luPWRU/CBZtwvojzes1J1lQEVEHyHmKeWKt2wkZUPanC1BBf+wL45wxqgtC30AMLCFM0NuM34FDTz1Edm8iCY94fbO7SAARzD4H0Ei3+qU3TAoholGJtWcbSX27yDif7kzKt;3:nDyjFvitvnBPSxbfDjxIjN4ImtAXCo08ZP8oD+Tb+POknNrvguFiknlB1GODvrVIKp2kBDIT5Bm/TLBKzSPuzTgfVblcyOw9/EAXaKMlwt4FglOHIwtkl5dg4LSnx05R;25:x7xxag3l5pAJx+ULgdlyn0vZgjPP6NcWi5lTNvtk11O5rVggBPjnkm/s1WH5dcrse16sl4NaQH9UexI4ZtEjND6JLy65GIjAQAOrwGBomAkIBylFpu9J8i0qPi0KPlMbTyfCcUNnViHMnwSaRkfj1LI3Fkpf3r+6aMtzQdDGtmWQUlYM+Tm5JiWQs7xQj8hQyhVje3/kMixFsfcwrlM7CiSPHU4D4wuKTK4hzQ0pSn5xi+uHzVU3ZQ35B60tZGjrAxAToZa+56lZmdaL+A51OVKH3IxBEjdVqoVJrsRd3VtUvTD2GbDGSZ7Z0xKK1VAcrgl+M6G9MTf+UkByTR7Mbg== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0201MB1786; X-Microsoft-Exchange-Diagnostics: 1;CY1PR0201MB1786;20:rrIFngYo+tCeJMANSB/n7X4ySzAi8t2sbWcveQBFAc/3UPggteJSSk/JNmsSax9HMk4T3BBNr5LHH+sLhXw0IlWOmNA9dsDJH6Zz0MeAUvWiijad0oCuZOfyzq9pcIgahu+9nM9wZ50c8FtIgbSxC1AIl+tr9V7ZyZ+ob3vBeXXyfkmGc6W7OtvI+V8CMrdU2VAg+w8w08W5YgEawo1ydYUu9pXDSGssbvNFRNnsnbgTwYZhHWVtI+jtVyCZlqcJh+nDy0+88UvjAoYSIQ8xCo0WEgsSCdRtPkhZOFSaZpnShG5k2gi7Mj4lqYeycHdzXoTi/8vNCHX/5SUwzDOBzaGRyrVvPG6Jghjz1kOjqICWJPBml8aaqAyvmSUa5aXiE0gm9KO8Rw9D15Z1Ct2s2/zStX7CFtYdgKNcwyQ1l9blbnXnnWcdvOOdzjCIi+Z61T9TY78AHwokYp16U7lpyHiIsyTdbrroEGMilx1tgyDUZSAAzLa7bRVSQtJZSNw6;4:LwvWU4jru2nShPSaNN1YOlsyVqDvgo514diGuXGngQCYcRQkOOkCx2uDcGu0pYHHGp0nH9sg9wHn6ZXxEaix4e87s0hAbXNBR8TiFhbFjwLOUMdHLLaXE+tyGcOF3vWr9eASyhxL+DghFgC2Us8Rbto5XUiy5jDQOYI2QqVdBKoNWysOD9RK7N4DFKZfpv18KBkcokwaoGiGvrU1EjyPChHHiHA2sSivg1uwmwwsl7Yt9LZNGMotdFss84E7psRWzFWB5BlhATpTBBfdAO3YzlD2Vo/Uvn7D+82ChmOD/km26cboJAN3wHNTr2fXHowMfQhBCBgcaG5N/k50d4ry5fUizWrNWqk4KQf1rccENxPrymNbTWBSA7LCDxi+Nuk4k8Nic+x77gOgweDe0bpLqA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(9101521072)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046);SRVR:CY1PR0201MB1786;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0201MB1786; X-Forefront-PRVS: 0924C6A0D5 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(377454003)(24454002)(4326007)(81166005)(65956001)(19617315012)(110136002)(270700001)(586003)(6116002)(3846002)(1096002)(59896002)(65816999)(66066001)(2906002)(4001350100001)(19580405001)(19580395003)(36756003)(77096005)(86362001)(512874002)(80316001)(16236675004)(189998001)(15188155005)(64126003)(83506001)(15975445007)(5008740100001)(16799955002)(92566002)(5004730100002)(84326002)(54356999)(87266999)(76176999)(3900700001)(50986999)(33656002)(42186005)(2950100001);DIR:OUT;SFP:1102;SCL:1;SRVR:CY1PR0201MB1786;H:tpl2.home;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY1PR0201MB1786;23:Tq3i/30Odw6gSEXrePCjrcI1nDE1Cg9LAR48bxV?= =?us-ascii?Q?/gMr10EfMyrzSnyWTeMMantJl1tv0qhzUfEuAsa8kHecEX9vQkS+EHRCSBlq?= =?us-ascii?Q?05mAvpOWOQjkIZtShdj/D8PgXA8CCVWHJiKVI0ZSSkWU1SoVMQE5I4yCZuCK?= =?us-ascii?Q?xXDHunqedixKb7e+tUBU38UDpBbt8zWgvgleOyYNsXoB6EaPohDY4XuEJEgJ?= =?us-ascii?Q?mokkzrMwCIcagPTHojij4UjXsHYnWOibwQLXA9mHNNZ+ORHroGPFFDRg9581?= =?us-ascii?Q?DwAiDfplqRKq3JNNDFxINgnEYR4y+fyi6b8o1fTxrOjjkvWq5LdSl9CE3Mll?= =?us-ascii?Q?mwfnCAwimZd9+Max8nhLpRA9PN/G7lN56H7q/wFFy+9dUzUdCuOe7Txrb8dT?= =?us-ascii?Q?pH1RbkJIoz/oy8hZ5CDdKIrFsSNrTkVKOeW4FPZ3SfT1M82/kSvctbHjenW/?= =?us-ascii?Q?vXFtZQSjcLnUl07HkC2NpI5Iz6HxlrfnZu7Lhf5ifVLKgmAG3I+8NwL01ExJ?= =?us-ascii?Q?5zfcbAWFuQ3+Id3iEMtf00xtGT9VvWfybaXWnTaHeMPHAj3ooMaJzKRQjsEi?= =?us-ascii?Q?sfSMD/IDMiFp9A0fo/taBqo5vCgU+bpiwnXglS3nPrZWagG2tYtS1uv3puC5?= =?us-ascii?Q?kOkfiKuBTMpXKG4RAPjoR349UcEqbFCKbjAD7Vd7jNQtx+ItILXhxFNZ1lzu?= =?us-ascii?Q?d3Ybs75wCxvL4peBvsruUurgR5xm72auwOktxftluH3cxH5skUbZUI24iNZp?= =?us-ascii?Q?CHSheHVmFoSnbwrjjQqA94FsaVQ6wOE3TIV8OKB1/kBxTpX1S2sAHdrYyAt5?= =?us-ascii?Q?6DTD5Rwo+uG06rY5XvktAdRIj4GdAphkx06LVFbO3L/BdEQfQprXTbcSY/DS?= =?us-ascii?Q?mrWmZNiIc1QnIjwpCtpIaVTsevhGYydwEzlmNDR0T93X7SLl4ZSDj28iRzyP?= =?us-ascii?Q?Gv5Ix5tPxzO43HAA4otnulaXrieAm/QM8hSJZquq2IQ3+07H4bL+28ybPrA6?= =?us-ascii?Q?7ezmFSxM1g3ivSDatXMgWqp3PCVg6B1eVXDAfCVsAVLAKoww+CkIBVETVZVh?= =?us-ascii?Q?BTGTCntJcsd1Lu3puj2EkefiLV6KByjB8qZYXf78Xwqu/rIyMaUdZ5a4nXI5?= =?us-ascii?Q?dHuBEHlxMwDpNHgIV3VVovQSHSFPuxSOZoFdG2phu8rDV6DF36/9GMbmo6op?= =?us-ascii?Q?aDOluslRxUxY3s0c=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR0201MB1786;5:Lz7jP/RXMnP/kCE3tX4DWZhDhI5wF7cM6qCZRMR5cdvLpvdzWWH+nmT8JWwNUT8x29sgIGCNpntPPfySkrU53ZpYT+2LMn1VG2YKLBqLaN9HIF0xmYeg+K91TBXzSas5yiY6CV3HGKwT8dQNudEZLg==;24:pYiz1iXVNFinR28fidI2tfTsyeBmG2gtcNil6TUwaPHejmIJ36sMQsrGEjXN5XG1GtuS4y/5Vn63sefqQFZeSrTTDr1mojOuDljZN0Su520=;7:j4Xn+Uq51WI7IWMPKdMSeqzaeNyYkT7CcL9jJ3efInuD+uAk3bJunKV5dJN63W0HYbWuaXamwzc/+DFPtNPcUgfLtTu8/wmz1R2/NJdU/hQhBmlJ6XvBAGcSWZHIMYgqD7eoumd/fjGsCXlK6FaCw3KoOX0yRpblIrlwk1gtWiAh9qeHllpeAC657RLPsPCb SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: zend.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2016 14:25:04.9329 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0201MB1786 Subject: Re: [PHP-DEV] [RFC] Patch for Union and Intersection Types From: dmitry@zend.com (Dmitry Stogov) --------------060006060707080300030507 Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Hi Joe, At first, I'm glad this implementation is ready. At least it's possible to analyze its profs and cons. I'm also sure that both RFCs have their opponents and advocates. Now, I just like to make the final voting fair. Thanks. Dmitry. On 04/26/2016 05:13 PM, Joe Watkins wrote: > Afternoon Dmitry, > > I started the implementation of this because unions and nullables > appears to be in my way (typed properties). > > At no point did Levi request an implementation. I decided, > selfishly, to provide one because it's in my way, and we've been > waiting so long already. > > There is no conspiracy. > > I would actually like it if nullable types came first, I would > have preferred not to have my work on typed properties stopped also. > > We don't always get what we want :) > > Cheers > Joe > > On Tue, Apr 26, 2016 at 2:33 PM, Dmitry Stogov > wrote: > > hi Levi, > > It looks like your "work" on "Nullable Types" RFC was intended to > win time for this patch and block "Nullable Types" again. > Actually, you have been blocking it for more than a year :( > > I'm going to push my own RFC for voting together with "Union Types". > > https://wiki.php.net/rfc/nullable_return_types > > At least, it has up to date implementation. > > We discussed this internally 2-3 weeks ago, and my politeness > (or/and stupidity) allowed you to pass your version for common > discussion. > Now I can see your real reason :( > > Both "Union Types" and "Nullable Types" may make sense, and both > should be voted at the same time. > Tomorrow is time to start voting. Right? > > Thanks. Dmitry. > > > ________________________________________ > From: Levi Morrison > > Sent: Tuesday, April 26, 2016 02:37 > To: internals > Subject: [PHP-DEV] [RFC] Patch for Union and Intersection Types > > Internals, > > Joe Watkins and Bob Weinand have worked out a [proof-of-concept patch > for union types][1]. Please go download it and experiment with it. > > A few things to note: > > * This patch includes intersection types. However, a type expression > must be either a union type or an intersection type; it doesn't > support both such as `Array | (Countable & Traversable)`. > * This patch adds `null`, `true` and `false` for type declarations. > * This patch includes conversion rules for weak types. > * It does not have short-hand for unions with null (`?Foo` being > `Foo | Null`) > > These features (or omitted ones) are not necessarily what will be > voted on. Rather this patch allows us to experiment with these > features in code. This experience should be helpful for us to solidify > how we actually feel about these features. > > I especially would like people to try out the conversion rules for > scalar types as it has been a point of discussion. > > [1]: https://github.com/php/php-src/pull/1887 > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > > --------------060006060707080300030507--