Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:71346 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 22925 invoked from network); 20 Jan 2014 20:20:48 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 20 Jan 2014 20:20:48 -0000 Authentication-Results: pb1.pair.com smtp.mail=php@golemon.com; spf=softfail; sender-id=softfail Authentication-Results: pb1.pair.com header.from=php@golemon.com; sender-id=softfail Received-SPF: softfail (pb1.pair.com: domain golemon.com does not designate 209.85.160.49 as permitted sender) X-PHP-List-Original-Sender: php@golemon.com X-Host-Fingerprint: 209.85.160.49 mail-pb0-f49.google.com Received: from [209.85.160.49] ([209.85.160.49:41671] helo=mail-pb0-f49.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 27/97-02192-F158DD25 for ; Mon, 20 Jan 2014 15:20:48 -0500 Received: by mail-pb0-f49.google.com with SMTP id up15so6862247pbc.22 for ; Mon, 20 Jan 2014 12:20:45 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=9TGncKR+nY5t2EIFgor6IErjPrR0an5lOy9yUb0kKeM=; b=UHtArRQ2nwU/GlBwkHDY9m9uIbOoK07xeLN9OGSXc8iUlIvzk/vbz3+j8sj4BYsTmU qZUVx14EMVkMJMt7LkDTUDb+YzQYk/EkIkLwiXbv6/mg/JFwyVk4WOhY+IcpPWejd9KP 02pE6mPurE/j60N58vtgRNzK/Ier6CnFay2/xxemcb+8Xdec94oq7g8o0UiPbhGSxmL7 CA0twqgH/x93K5tJcAfRJ66B39D3zbPNeZoyLcpzWganM0yUWboEC7aoE58M+7H5k2rY G8dlybzxjwf/sPybl4x+O6zN8PhGbiBFK68hkOP2K3h7wXgwxmBGq+aq7DhPs5H+PYc6 Z1tg== X-Gm-Message-State: ALoCoQnUMo9+Tout0iIwibY/llkFPd/5F6ppYPbKlxGcC2zqZs/DNUE4bYQbhwO/P5oZhp7Dm74m MIME-Version: 1.0 X-Received: by 10.67.22.100 with SMTP id hr4mr20444155pad.112.1390249231872; Mon, 20 Jan 2014 12:20:31 -0800 (PST) Sender: php@golemon.com Received: by 10.70.77.164 with HTTP; Mon, 20 Jan 2014 12:20:31 -0800 (PST) X-Originating-IP: [2001:470:1f09:2fa:22c9:d0ff:fe87:295b] In-Reply-To: References: <002d01cf1234$01e6dc60$05b49520$@tutteli.ch> <004c01cf123d$35730870$a0591950$@tutteli.ch> <52D71748.1090402@googlemail.com> <52D71FAE.8030002@ajf.me> <005001cf124f$3a40df00$aec29d00$@tutteli.ch> <20140116110127.202079vzjsj76n7b@webmail.tutteli.ch> <0B.B1.24763.139B7D25@pb1.pair.com> <002001cf12da$2bfbda90$83f38fb0$@tutteli.ch> <52DCA3E7.80602@lerdorf.com> <52DCED71.3020207@pthreads.org> <006301cf15f5$22f8df60$68ea9e20$@tutteli.ch> Date: Mon, 20 Jan 2014 12:20:31 -0800 X-Google-Sender-Auth: OpTffZu6VaFFmx4c53tk_bBuRTw Message-ID: To: Philip Sturgeon Cc: Philip Sturgeon , Robert Stoll , Joe Watkins , "internals@lists.php.net" Content-Type: text/plain; charset=ISO-8859-1 Subject: Re: [PHP-DEV] Introducing "Array Of" RFC From: pollita@php.net (Sara Golemon) >> ArrayOf: "I would like hammers in a bag." >> Generics: "I would like a bag of hammers." > > I don't want to bicker analogies but yours is inaccurate. You have to > specify a specific type of bag, ask it to be constructed before being > passed to the method which checks for it, and that is not at all the > same as checking contents of an argument being passed. > And yet you bicker. Specify a type of bag: Applies regardless. It's a bag of hammers, then specifying has been done. Ask it to be constructed: Applies regardless. That's was $x = array(); is. Checking contents: The topic of the RFC is typed arrays (or arrays containing a type, if you prefer). For that to be meaningful the contents much be checked. They can be checked at call time, population time, or compile time. They are however, being checked. > The two things are very different. > The two ways of looking at them are different. The metaphor is the same. > It would be like saying: "Why would you ever want to type-hint for a > callable, when you can create a CallableWrapper object, pass it a > callable in a setter, then check for the object name." Obviously that > is not a viable suggestion, and that is what is being discussed as an > alternative for this arrayof RFC by trying to replace them with > generics. > > This is a full-on hijack. > Bullshit. To borrow your expression; That's got fuck-all to do with what we've been discussing. You're just making shit up at this point and you need to cut that crap out. NOBODY IS SUGGESTING REPLACING "array" WITH AN OBJECT. I don't know how much clearer I can state that. > I see they have an overlap, and they have been discussed. I am however > pointing out (to others) that using generics in place of this feature > is not as wonderful of a solution as they seem to think, and using the > syntax is not ideal for other reasons (also discussed). > Discussed, but your position is not taken as fact. In fact, I've taken rather the opposite conclusion since I see a number of unaddressed problems with the original RFC. Based on those problems not being addressed, I'm currently leaning on the side of voting "No", despite the fact that I'd generally like to see some sort of arrayof (whether or not it looks like a generic). Further, posts like yours which seek to shut down relevant discussion stand out as a very large call against the RFC. I'm sorry that you want to shut your own RFC down, but I'm not going to make guesses at your reasons for that. > Discussing them is one thing. Discussions are great. When that > discussion leads to the suggestion of using one instead of the other, > well... that leads us to where we are now: stuck in the mud. > Where is discussion supposed to lead if NOT to a preference for a course of action? -Sara