Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:72878 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 4616 invoked from network); 28 Feb 2014 19:04:29 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 28 Feb 2014 19:04:29 -0000 Authentication-Results: pb1.pair.com header.from=rdlowrey@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=rdlowrey@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.223.177 as permitted sender) X-PHP-List-Original-Sender: rdlowrey@gmail.com X-Host-Fingerprint: 209.85.223.177 mail-ie0-f177.google.com Received: from [209.85.223.177] ([209.85.223.177:47156] helo=mail-ie0-f177.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id AD/38-64896-CBDD0135 for ; Fri, 28 Feb 2014 14:04:28 -0500 Received: by mail-ie0-f177.google.com with SMTP id rl12so3814188iec.36 for ; Fri, 28 Feb 2014 11:04:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type; bh=t8Lp62/I9jgq618wh2tQ/LP1SCbkNIPRft21YfMmut0=; b=0vH+VJc2QBzTD0/H7aziDyEAUJu8E9c7ckw/RKMXVQ/o7Zg2B4kXxfBBcIu4aUo49p 8+4vskxPrKSCFlvACUmglwDHzZuphsvlSbGMS8UuhNBqVlhA8fkyl86pefMaZk83pzXS yuSrfPOWv2iDLHYJ4ZhRnFD1VqSwcTjc2Cjm+Fu2bhTl3nwXXtkUwdLKJC80Lruu2yzI lYWPL0wq2LIopn3N+Kz9sOQEOLT8MuRBEbpevo9hUxof7RUh5+JRIgnomvoXING74Xzi 8qjFLKLM1GQg4B/9jIBJbMX1ISaTW4GzGqJxrSs1gdg7d/wu/k7BmCOPmN32Pgzgq+TP +iWw== MIME-Version: 1.0 X-Received: by 10.42.62.143 with SMTP id y15mr12497539ich.14.1393614265347; Fri, 28 Feb 2014 11:04:25 -0800 (PST) Received: by 10.50.34.131 with HTTP; Fri, 28 Feb 2014 11:04:25 -0800 (PST) Date: Fri, 28 Feb 2014 14:04:25 -0500 Message-ID: To: "internals@lists.php.net" Content-Type: multipart/alternative; boundary=20cf30223c913d761704f37c1ba5 Subject: Re: Array Of From: rdlowrey@gmail.com (Daniel Lowrey) --20cf30223c913d761704f37c1ba5 Content-Type: text/plain; charset=ISO-8859-1 I appreciate the time and effort Joe and Phil put into this, but I'm voting "no" because ... - Having an O(n) typehint does not feel like a good solution to me. People have argued that variadics are also O(n) so there's no real difference between the two. I disagree because no one in his or her right mind would pass 100,000 parameters to a function. This would not be at all uncommon for an array, though. IMO If you have to stop and consider the performance implications of the typehint or remember to only use the hint once then you've already severely limited its usefulness. - I don't see enough benefit *at this time* to be had from tying ourselves to this syntax. In my view there would need to be more benefit than eliminating the trivial foreach block you'd currently need to perform this check in userland. - I think it more sensible to spend time cleaning up existing bugs/functionality/idioms than bolting on superfluous new things here and there. Every syntax addition is a potential future BC problem, and while it may seem like a good idea now opinions can change and better ideas can arise. If you're shackled to a particular syntax it can make future improvements more painful. - I'm not sure that there's a strong consensus for generics at this point. Implementing a stopgap measure to simulate a watered-down subset of generics functionality feels premature to me. These are just my feelings after reading the relevant discussions. Thanks again for the work you guys put into this. Daniel --20cf30223c913d761704f37c1ba5--