Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:114532 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 21456 invoked from network); 20 May 2021 12:38:44 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 20 May 2021 12:38:44 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 8934E1804CC for ; Thu, 20 May 2021 05:48:45 -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=0.6 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,HTML_MESSAGE, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 X-Spam-Virus: No X-Envelope-From: Received: from mail-lj1-f179.google.com (mail-lj1-f179.google.com [209.85.208.179]) (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 ; Thu, 20 May 2021 05:48:45 -0700 (PDT) Received: by mail-lj1-f179.google.com with SMTP id s25so19531075ljo.11 for ; Thu, 20 May 2021 05:48:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=tTb6raeb6Ic4T4RYWA903ZzoQatzwqus2aSadghCy6k=; b=WzFEf28/qSd2i5htSipLOuqnQLDaX+rRYDfdCChMb9hcimOtYVb0axQDrwHtwGZ4pO FRPzvbDaPE8/FyyYN95Nxdu8MN4SVK/wRascpTDyYFUKbcBsPt38VFkcYTgIBgTiWX6k t5DyOsjdi/yEC/7BxL6NuBV6wOeUZoUTgRynYNkKUZMLMjrsvhyeiVySkdtBFNcCMxId rTYSIWScWa5WhQ08+Srll64itrmziM+JjZ6HRSmODzZF36RNEbTHzRwO9D6a3yk3NTu4 myFrUlfTPv4sQe3VV9wANrOZYRuMCBo7p83Yoqs7vxPOpAaZOIQq1Yjxa7kdbuuIX/QV 0iXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=tTb6raeb6Ic4T4RYWA903ZzoQatzwqus2aSadghCy6k=; b=pty+8tytpLP5SMHTar/87f7+T2tvTD+2KjWmd1k3pIbZmsC0lyxvsSH9HRk82M1+vF 0HDHG9kZD51osPaS0dzpbYF9/BAMPom2QDZJ0QCEaI77QxGvft61OaX9RrRHBNfesXC5 srdTcWsrHEL/immdpwVfwrtKPIoHoF+dnTOkNQykQvZPfNd0quPk76tPFcxu5S3MTEbW VOmYkLOk3M8UKvwj6Te5DBbs0OCwHmeZZwOmhXSZutJqAp7HAy5ugGBabN1WhcuRzEmq zsCrBKgCdhhSHoxbFOJCUufA/U8RX8OH/FYF68OBWs6D1zMj8EdZ0dPu8fTZj0qoSGZM R8mw== X-Gm-Message-State: AOAM53100uL+vat7ddFkhwPs+AdFvy6Q7lzY3w/KdsHThZpZuckmHLDT QWvMrD3tzUAx81F+20vh5NFhXcaPpgAkQyipRPxk7XQ6invjAw== X-Google-Smtp-Source: ABdhPJwUsGyqdn3fADQq5IMtS2XU5s64ARkrS2wLeYhUm0zGWcxJfI81hqrYk4aMv72WJ6S2oOkIerW4Qp+HGm2a3aA= X-Received: by 2002:a2e:9189:: with SMTP id f9mr3097534ljg.353.1621514922507; Thu, 20 May 2021 05:48:42 -0700 (PDT) MIME-Version: 1.0 Date: Thu, 20 May 2021 14:48:26 +0200 Message-ID: To: PHP internals Content-Type: multipart/alternative; boundary="000000000000f440dd05c2c25c27" Subject: [RFC] First-class callable syntax From: nikita.ppv@gmail.com (Nikita Popov) --000000000000f440dd05c2c25c27 Content-Type: text/plain; charset="UTF-8" Hi internals, I'd like to present an RFC for a first-class callable syntax, which is intended as a simpler alternative to the partial function application (PFA) proposal: https://wiki.php.net/rfc/first_class_callable_syntax See the Rationale section for details on how this relates to PFA. Over the past week, we've had a lot of discussions on how exactly PFA is supposed to work (most of them OTR), and while we seem to have a tentative consensus on the correct model to use (which does not match the current RFC), it's clear that this feature has turned out more complicated than originally anticipated. Joe (who provided the implementation for the PFA RFC) is also concerned about the implementation complexity that the final model would require. At least I personally was mainly interested in PFA because it provides a first-class callable syntax as a side-effect. This RFC goes back to providing *just* that. The syntax is forward-compatible with a future PFA proposal though. Regards, Nikita --000000000000f440dd05c2c25c27--