Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:109736 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 51835 invoked from network); 21 Apr 2020 05:23:48 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 21 Apr 2020 05:23:48 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 40D0D1804CE for ; Mon, 20 Apr 2020 20:55:06 -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=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS15169 209.85.128.0/17 X-Spam-Virus: No X-Envelope-From: Received: from mail-qv1-f49.google.com (mail-qv1-f49.google.com [209.85.219.49]) (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 ; Mon, 20 Apr 2020 20:55:05 -0700 (PDT) Received: by mail-qv1-f49.google.com with SMTP id t8so3971253qvw.5 for ; Mon, 20 Apr 2020 20:55:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=newclarity-net.20150623.gappssmtp.com; s=20150623; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=woJF2xe0CoKAElCJNgQjcp2Rg52ldBSCsgZFmzJT74Y=; b=xSVnf2hwIMtqKpTx2H47ULbVeed22C1czoxoHZ5E/Zo+Ras5sOzV1qNPcBh652qJoN e4oq68swi5jXm8BxNlsKy/kshgzeptp5ofIumz7qlhGUaNhMx9U4sB7c2kVYpzB/f3zM XHD1fhsFGCHPv6zEw1UsqVydhSmteKtXwFy/BPPfar1xqmCPSOqxZH94V/16jJEKeSeJ 6sQqTCJay9zIXJ2XeF0lJdwYCk8x+9G90fTfRol5Q6JbECWIQNCdB2FVYKoFftqPDCx6 /5ImGSYmrMC4RnMdxA1adOh3a1zfCHuiY8c3JzPRe4jyGqO4uLRrW1Fi8TVDP0kGEwOk HXog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=woJF2xe0CoKAElCJNgQjcp2Rg52ldBSCsgZFmzJT74Y=; b=HisKSRWl5M6/sKZet7WE3wuEx4LlS436ifAMLZvP+gfiwhmlzoD1AKwW5B2yXGVyt6 zgVs6R6tq1CTDWJrqWFJJMCjCCO6Z8rCcI3wf6PngdOsxHz3oGjhJ4J0RXrWimU6aXZl hktduKgyBoL2UaUFkOBLUHJwKvmUUR9s+NMnJoLHUJbyW1KNE0VecTTTN5A9cMUkWDGu 5Vf3fgUHbTdfrzajt4jErDD7e2r82DjGby36i7LAso9Q1rhQlaw10TjXPpPN6P5Qdqii HwTjzJJbWjYGVBBVMhEAIKkud5EqhLCHior8It4FZNzK+gEhvwfKFYJGcEpZyWlayy3C U0gA== X-Gm-Message-State: AGi0Puad5fIjyKFT+LlidXsGTX/Wdks1DBF+AOwPqB9v8qrJuN8M3Iu3 ESBDXezDipdo64rAPHfDTSf+ZpU2iy4= X-Google-Smtp-Source: APiQypKQPGIF3JTxUC9Ea7bHZd5u577p0T0RUa3P6MGdDe5L9KpBikx8m1NuESvF9QoaIECkeUm9fQ== X-Received: by 2002:a0c:aadc:: with SMTP id g28mr18812178qvb.0.1587441302695; Mon, 20 Apr 2020 20:55:02 -0700 (PDT) Received: from ?IPv6:2601:c0:c680:5cc0:c0dc:107:3ef1:77f3? ([2601:c0:c680:5cc0:c0dc:107:3ef1:77f3]) by smtp.gmail.com with ESMTPSA id v23sm1038135qkv.55.2020.04.20.20.55.01 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 20 Apr 2020 20:55:01 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) In-Reply-To: <2677cdc6-309c-4e4e-9cd9-12ff2a90c1e1@www.fastmail.com> Date: Mon, 20 Apr 2020 23:55:00 -0400 Cc: php internals Content-Transfer-Encoding: quoted-printable Message-ID: <3EB5C836-10B3-4A4D-9526-8F09BD44A801@newclarity.net> References: <2677cdc6-309c-4e4e-9cd9-12ff2a90c1e1@www.fastmail.com> To: Larry Garfield , Derick Rethans X-Mailer: Apple Mail (2.3445.104.11) Subject: Re: [PHP-DEV] [RFC] Function pipe operator From: mike@newclarity.net (Mike Schinkel) A questions and a comment: 1. How will XDEBUG handle a multiline construct such as this? Will it = treat as one expression, or allow breakpoints at each "link" in the pipe = chain? Maybe this is a better question for Derek Rethans? 2. The exclusive use of callable seems problematic prior to an inclusion = a '::function' operator that can be applied to functions for symbol = resolution to function name as it will encourage more use of strings = that are not checked by PHP. Maybe we could address that first? Also #2 would be true for method names although how that might be = implemented is a bit more complicated. -Mike > On Apr 20, 2020, at 9:38 PM, Larry Garfield = wrote: >=20 > Hello fine people of Internals! >=20 > I've been commenting on other RFCs enough lately that I should = probably put myself through the wringer, too. I therefore offer this = RFC to add a function pipe operator, as seen in a number of other = languages: >=20 > https://wiki.php.net/rfc/pipe-operator-v2 >=20 > A patch is available here: >=20 > https://github.com/php/php-src/pull/5425 >=20 > Although I have one or two bits of it that I could use feedback on. = (Let me know over on GitHub.) >=20 > It's deliberately a very small, lightweight, and targeted change. The = Future Work section suggests possible additions for later, but this is = as much as my meager skills can manage for the moment. >=20 > My enormous thanks to Sammy K Powers and Levi Morrison for their = copious hand-holding in my first foray into php-src. >=20 > *dons flame retardant suit* >=20 > --=20 > Larry Garfield > larry@garfieldtech.com >=20 > --=20 > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php >=20