Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:94603 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 25190 invoked from network); 21 Jul 2016 03:50:37 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 21 Jul 2016 03:50:37 -0000 Authentication-Results: pb1.pair.com header.from=larry@garfieldtech.com; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=larry@garfieldtech.com; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain garfieldtech.com from 66.111.4.29 cause and error) X-PHP-List-Original-Sender: larry@garfieldtech.com X-Host-Fingerprint: 66.111.4.29 out5-smtp.messagingengine.com Received: from [66.111.4.29] ([66.111.4.29:36304] helo=out5-smtp.messagingengine.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id F7/D8-52781-A8640975 for ; Wed, 20 Jul 2016 23:50:34 -0400 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id 5C8EB20788 for ; Wed, 20 Jul 2016 23:50:32 -0400 (EDT) Received: from frontend1 ([10.202.2.160]) by compute3.internal (MEProxy); Wed, 20 Jul 2016 23:50:32 -0400 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-sasl-enc:x-sasl-enc; s=smtpout; bh=J8MXcNIE1fgGPmF jj7RebYmKZ0k=; b=jfoB7/lPJxypEPHCzUJvB7IPftTGslSmhEsdusRRgJpTe9i DTd7ZMpq7msN0KUegmdo64h9D+FMaHz0TSe9af9ZsNCXYSA4F4yoCGIyLWE5ZIwY w/s3PSLW8KIFswpKf1Y3LtiHKclm0ZdxotyFN5T+rHhcmyT2Q7OUqfO/Z0R0= X-Sasl-enc: GMvlmkCh0gpwnqu3lGKo/EHjT4NYU5/8NXi5ntZKiJr5 1469073031 Received: from [192.168.5.128] (ip-64-134-102-124.public.wayport.net [64.134.102.124]) by mail.messagingengine.com (Postfix) with ESMTPA id B65CFF29FB for ; Wed, 20 Jul 2016 23:50:31 -0400 (EDT) To: internals@lists.php.net References: Message-ID: <5786dd74-8a32-eb16-aec1-77b12d5af1c1@garfieldtech.com> Date: Wed, 20 Jul 2016 23:50:31 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] Pipe Operator v2 From: larry@garfieldtech.com (Larry Garfield) On 07/20/2016 07:42 PM, Sara Golemon wrote: > With the branching of 7.1, and after some reflection on the previous > feedback, I'd like to reopen discussion of the Pipe Operator RFC > https://wiki.php.net/rfc/pipe-operator which I had previously put on > hold. I've changed much of the argument wording of the proposal, but > not the substantive feature set. If you still feel it's unworkable, > I'd like to encourage you to respond with what you think would make it > workable (if anything). Thanks. > > -Sara I am still generally in favor of this proposal. Especially when dealing with nested array functions this operator would be a big boon to readability. However, the introduction discusses fluent chained methods of objects, and states " This RFC aims to improve code readability by bringing fluent expressions to functional and OOP libraries not originally designed for the task." The examples, however, all seem to be centered around procedural calls. (A static method call is the same thing as a procedural function call in this respect.) When dealing with methods on an object, it seems it wouldn't offer much. This other recent discussion/proposal for a "Cascade" operator seems like it would handle the OOP/method case much better: http://news.php.net/php.internals/94466 Note: I am not suggesting one is a substitute for the other; rather, that they are complementary by addressing different parts of the problem space, and the Pipe RFC should likely not emphasize OOP usage potential as I see not a great deal there. I am still in favor of it, but let's not over-state its use cases. PS: I am very disappointed that you chose to name the $$ token T_PIPE_VARIABLE and not T_BLINGBLING. --Larry Garfield