Newsgroups: php.internals
Path: news.php.net
Xref: news.php.net php.internals:114770
Return-Path: <larry@garfieldtech.com>
Delivered-To: mailing list internals@lists.php.net
Received: (qmail 45833 invoked from network); 7 Jun 2021 18:48:46 -0000
Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5)
  by pb1.pair.com with SMTP; 7 Jun 2021 18:48:46 -0000
Received: from php-smtp4.php.net (localhost [127.0.0.1])
	by php-smtp4.php.net (Postfix) with ESMTP id D9FE1180543
	for <internals@lists.php.net>; Mon,  7 Jun 2021 12:03:20 -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=-2.6 required=5.0 tests=BAYES_00,DKIM_SIGNED,
	DKIM_VALID,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,
	SPF_HELO_PASS,SPF_NONE autolearn=no autolearn_force=no version=3.4.2
X-Spam-Virus: No
X-Envelope-From: <larry@garfieldtech.com>
Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(No client certificate requested)
	by php-smtp4.php.net (Postfix) with ESMTPS
	for <internals@lists.php.net>; Mon,  7 Jun 2021 12:03:20 -0700 (PDT)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
	by mailout.nyi.internal (Postfix) with ESMTP id A91745C01ED
	for <internals@lists.php.net>; Mon,  7 Jun 2021 15:03:19 -0400 (EDT)
Received: from imap43 ([10.202.2.93])
  by compute1.internal (MEProxy); Mon, 07 Jun 2021 15:03:19 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=content-type:date:from:message-id
	:mime-version:subject:to:x-me-proxy:x-me-proxy:x-me-sender
	:x-me-sender:x-sasl-enc; s=fm3; bh=pbOCfAfYjN+6mqZZ7GzUwhzruCcjz
	znT1EXbkBxuShk=; b=k2Int3B+xbzgFoKBwr4B62B/OjKBjPBMg5HwHGr3gkU8p
	zkxUGHdgaxYNoxajUzKUN02foO59U6xlzVOJMWCD+88rIyWPqeM4CwO7J2s1u0FM
	TSbsDcq+ZNvCeSdZPPtIAb2cL/xeL1NQBu+xAEnRw2GgiWwA8+oNqy2eyFsMM13d
	l9ytD81mAgId8AmyfOcn2mcery+LYJVpRw1nkj/QEbjQLC5Pt8Nx+hKLmglREWfe
	ggyxcjXeXN+MuBOcUt2FlzeFvR6iG5VlgPDmDxEO6+YvG/XxpFRq8IJGH30GyE2x
	vyWeeeCpRrgJwP2ydwNdQfuWB2Q5m5hoFSu+TDLig==
X-ME-Sender: <xms:d22-YHWWBBF_imm8RrH9hnClCqdMPSVVE60rByZEUbE5kgnBxgEMHA>
    <xme:d22-YPlJ88_7aAL0BUnhpf4ZGQES2hVeQEvUz8kUbmatwqnWH6WmuxlpY-ppuiQml
    XkZh19xdSg4rA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrfedtjedgudefvdcutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpefofgggkfffhffvufgtsehttdertderredtnecuhfhrohhmpedfnfgrrhhr
    hicuifgrrhhfihgvlhgufdcuoehlrghrrhihsehgrghrfhhivghlughtvggthhdrtghomh
    eqnecuggftrfgrthhtvghrnhepgeehffeihfdtkeefveffueeiiefhjeduhfeuhfdtteel
    lefhvdejteekgffgueeinecuffhomhgrihhnpehphhhprdhnvghtnecuvehluhhsthgvrh
    fuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomheplhgrrhhrhiesghgrrhhfihgv
    lhguthgvtghhrdgtohhm
X-ME-Proxy: <xmx:d22-YDaN-DX-U3D5VXu6g9GUbPr0uXGMVPau7gpczjaarAtG1G3IQA>
    <xmx:d22-YCUQXpCXhTxBq-kx7NPC2M3jQldYQg3FUDLvyd9q9_KWAQzfNg>
    <xmx:d22-YBni7S49JkrRzpxFBhTIv3pC-0aRThjFrbvKW05Wktk6bqJNEA>
    <xmx:d22-YDl4xYJxtQVecLxd464bDym9SEleosPUcSCUwzR8kNN45-6D5A>
Received: by mailuser.nyi.internal (Postfix, from userid 501)
	id 7492CAC0062; Mon,  7 Jun 2021 15:03:19 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
User-Agent: Cyrus-JMAP/3.5.0-alpha0-519-g27a961944e-fm-20210531.001-g27a96194
Mime-Version: 1.0
Message-ID: <d50eaa78-21c7-46e7-9da6-629ba5694d3f@www.fastmail.com>
Date: Mon, 07 Jun 2021 14:00:15 -0500
To: "php internals" <internals@lists.php.net>
Content-Type: text/plain
Subject: [RFC] Pipe Operator, take 2
From: larry@garfieldtech.com ("Larry Garfield")

Hi folks. Me again.

A year ago, I posted an RFC for a pipe operator, |>, aka function concatenation.  At the time, the main thrust of the feedback was "cool, like, but we need partial function application first so that the syntax for callables isn't so crappy."

The PFA RFC is winding down now and is looking quite good, so it's time to revisit pipes.

https://wiki.php.net/rfc/pipe-operator-v2

Nothing radical has changed in the proposal since last year.  I have updated it against the latest master.  I also updated the RFC to use more examples that assume PFA, as the result is legit much nicer.  i also tested it locally with a combined partials-and-pipes branch to make sure they play nicely together, and they do.  (Yay!)  Assuming PFA passes I will include those tests in the pipes branch before this one goes to a vote.

-- 
  Larry Garfield
  larry@garfieldtech.com