Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:129333 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by lists.php.net (Postfix) with ESMTPS id 421BA1A00BC for ; Thu, 20 Nov 2025 14:46:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1763650006; bh=/EZcwnz3tZf9WybLb93bPY1NISvcwlaIlWCIxygM6c8=; h=Date:From:To:In-Reply-To:References:Subject:From; b=nWHl2wKDQ6aWdhRTSGjkgRIhPf+HHnXjB/ln90koOyCvfj3/68zhKL23cZ8nzFtYl yUOIDZu/IMlDK07SfYDU767HkSPQylFnqWSTVREZFEvJGk9p8YRollierkZNMcVXDe qmpRq4klv8UZ7K3e9n3pa9qvnk7WkZNUTiFN8e9TY2wUWlYMZEg2ekWz6HyZoYyD4p PWv48lp8Tq+6S7THoR2Vbjl9lBIBsyWLdZIV7aUQXPCxGaC15j0sxe9ND8fBDwHdW5 XrI3OHvLu2aXvdymyfEMwr0URuFvkZsv2QMlNWkKp/DNfItrYpDAkio9j61jIqiqwF 45MHCZilQPLbA== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 1DE321804CE for ; Thu, 20 Nov 2025 14:46:46 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-1.4 required=5.0 tests=BAYES_05,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_MISSING,RCVD_IN_DNSWL_LOW, SPF_HELO_PASS,SPF_NONE autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: No X-Envelope-From: Received: from fhigh-b7-smtp.messagingengine.com (fhigh-b7-smtp.messagingengine.com [202.12.124.158]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Thu, 20 Nov 2025 14:46:45 +0000 (UTC) Received: from phl-compute-04.internal (phl-compute-04.internal [10.202.2.44]) by mailfhigh.stl.internal (Postfix) with ESMTP id 642B97A0133 for ; Thu, 20 Nov 2025 09:46:40 -0500 (EST) Received: from phl-imap-02 ([10.202.2.81]) by phl-compute-04.internal (MEProxy); Thu, 20 Nov 2025 09:46:40 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= garfieldtech.com; h=cc:content-transfer-encoding:content-type :content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to; s=fm3; t=1763650000; x=1763736400; bh=JCPZOQwcRvxe3SEuxDrK6 3IOB5jM36uAhRk2qEDCbPk=; b=Arw6W6PylwL7iJm0wn+luobrxr8U7OcSL9eDI i52a9oigcd2l9KsAwPSzhp60NWxa5YMjyEiS54RMiCDmQG9xRNRJaYxgCqiYnbRY 7h/UUecfHhlFM8OqmDPxJr0OVI4gvuQOTRoT0uWI3NqSYJpR6S915W5WXEfln2SC l6e8Z1qEEllIPp72POL5yJ727ZVtm8eVBAsX5EjRH/Ryf0jDnzZfsApdcSmdI2ua Zcvu3MVLsGbyrLyqRjrPrE5Ut9xRDyY3w+OwB4ha4EbDUPUHcMcU1HNGNbSOAJSO nd+lqI8HNaQnFgbNW98tc0pM/8JMSMSfRNRxWNm78bpzNIIuA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm3; t=1763650000; x=1763736400; bh=J CPZOQwcRvxe3SEuxDrK63IOB5jM36uAhRk2qEDCbPk=; b=Yr+39lwVnzOZQQu2b bQpY1RugKt2p/XNk1wQy5DfN6TNMFVXWzLxOHYHGeX4D5qrOFVeWVcrM0lFZlVSR mwhOswAXuIXPaKXyFqMVL660UhSf1PvXySEUiG7OamvE2e5o3I4sWsrVsXCknyX+ dNoinnMyI6Trp3tRQZlT30iQN46evKPpxX1Iqr7c7V8i6b99BTVMNaFjzrxgUo89 UjoBE43BuMOp01ywNPmdgsw5QE+dtgHgbvoPkQnj62nKhPUT5As43uXtIGGV8QlC vTO4xrGV3IBtGXNxqCa4BLdc5na4Lfm2Op+NWMyXnPkxLiCQy3rpJu/lLq42RxKP oFRSw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggddvvdejfeeiucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhepofggfffhvffkjghfufgtgfesthhqredtredtjeenucfhrhhomhepfdfnrghrrhih ucfirghrfhhivghlugdfuceolhgrrhhrhiesghgrrhhfihgvlhguthgvtghhrdgtohhmqe enucggtffrrghtthgvrhhnpeffieeivdfhvdeguddttdegteeiueegvefhteehfeeffeet udeitdehtdegjeeuieenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrih hlfhhrohhmpehlrghrrhihsehgrghrfhhivghlughtvggthhdrtghomhdpnhgspghrtghp thhtohepuddpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepihhnthgvrhhnrghlsh eslhhishhtshdrphhhphdrnhgvth X-ME-Proxy: Feedback-ID: i8414410d:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id 7D802700063; Thu, 20 Nov 2025 09:46:39 -0500 (EST) X-Mailer: MessagingEngine.com Webmail Interface Precedence: list list-help: list-unsubscribe: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 X-ThreadId: AhNICco1L3iN Date: Thu, 20 Nov 2025 08:46:18 -0600 To: "php internals" Message-ID: <8defc59c-7c33-40e6-83d2-6f01cd8fae46@app.fastmail.com> In-Reply-To: References: Subject: Re: [PHP-DEV] First-class constructor callables Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable From: larry@garfieldtech.com ("Larry Garfield") On Thu, Nov 20, 2025, at 8:21 AM, Arnaud Le Blanc wrote: > Hi Valentin, > > On Thu, Nov 20, 2025 at 2:20=E2=80=AFPM Valentin Udaltsov > wrote: >> Question for Larry and Arnaud: >> >> In PFA v2, you note that constructor references pose significant tech= nical challenges. >> Could you elaborate on what those challenges are and whether they are= fundamental, or potentially addressable with a more limited or explicit= syntax such as `new Foo(...)`? > > One issue is that partial application needs to resolve the function > being applied, but constructors can not be resolved without > instantiating the class first (at least, not on all classes). So `new > Foo(...)` would need to instantiate Foo, resolve the constructor, and > discard the instance, before creating the PFA. > > This is something that could be addressed as a follow up to PFA v2. > > Best Regards, > Arnaud I will defer to Arnaud on the details. For my part, I have no conceptua= l objection to partialing constructors. The reason it was omitted from = PFAv2 was basically "it's hard and complicated and there's enough going = on here as is." If someone else wants to do a follow up RFC for FCC/PFA on constructors,= I would not be opposed. --Larry Garfield