Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:111842 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 54062 invoked from network); 4 Sep 2020 16:27:24 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 4 Sep 2020 16:27:24 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id BCDFD1804D9 for ; Fri, 4 Sep 2020 08:32:50 -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.4 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,HTML_MESSAGE,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_SOFTFAIL autolearn=no autolearn_force=no version=3.4.2 X-Spam-Virus: No X-Envelope-From: Received: from mail-lf1-f52.google.com (mail-lf1-f52.google.com [209.85.167.52]) (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 ; Fri, 4 Sep 2020 08:32:50 -0700 (PDT) Received: by mail-lf1-f52.google.com with SMTP id w11so4084311lfn.2 for ; Fri, 04 Sep 2020 08:32:50 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=815xD82Fkd6iAigU5I13uFoHjEkCeDSFelV115xRQg4=; b=ZnK80KLy78dlE+HXYv4D4QQls34fHR7+9MBH/9n1AHxmYDPnYFR323Q/rJxTxia2qx 3XfYowM9fT6rERABEq3aJN7tnxUSU5tF5RpCvyI4AkK7jolFM7uHdSlGtDcyOpk6qYzU isHRDdriOyVqKhjOejzB1nEPP2hHtIj75kKdW7q8Z6jcOOLM1Jf2GWlL2uDWtaudSh/i +N85cEwxAdvD7y+EBl8J1lG/WkC7Y+6diEXXXf7scBWnyHTNyNedMiWclPNRMY0jwrjF F3IPPH7UsunPfiHgKzOY0huK8BjWJ0uAxXILKW9xdwou0gL02itfepd4SNWIWkFGjqv9 YrBg== X-Gm-Message-State: AOAM5311ay7f45qlX2r+Lkuyxn5CI8ptxcUyVaUs5dvKcVxCCu4OmvK5 TCOT0Jyq/1jfdfYnkY0MBA/Vb2P18vMjiz8V1gVizA== X-Google-Smtp-Source: ABdhPJxPxu5kovsQtpzV0WXh5eB4iswIDv/PA9Tf5dJy7ZQiuHR8+2NRBL1Gdu4bqgGk5oroVBpYLJg0h/C/3ma7tSE= X-Received: by 2002:a05:6512:2101:: with SMTP id q1mr4109391lfr.157.1599233565778; Fri, 04 Sep 2020 08:32:45 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: Date: Fri, 4 Sep 2020 10:32:34 -0500 Message-ID: To: Levi Morrison Cc: tyson andre , PHP internals Content-Type: multipart/alternative; boundary="0000000000009a007505ae7e94f9" Subject: Re: [PHP-DEV] [RFC] Global functions any() and all() on iterables From: pollita@php.net (Sara Golemon) --0000000000009a007505ae7e94f9 Content-Type: text/plain; charset="UTF-8" On Thu, Sep 3, 2020 at 8:23 PM Levi Morrison wrote: > > 3. Better visibility from the JIT (not having to cross > userspace/internals > > border is good) > > This is a good point _in theory_, but to me this is just indicative > that we need to be able to bundle built-in functions for php-src. Now > that we have preloading, I wonder how far off we are from achieving > this in some form. > Mostly an orthogonal topic, though I do agree that as the JIT matures we may find we particularly want to move in this direction. It certainly makes sense to build in the capability sooner rather than later. Thinking about ways to negate the other two issues I brought up... 1. Forward-compat; We could produce a smaller distributable package containing just the script builtin implementations for use on older versions. Use some mechanism to mark which versions they're introduced in and selectively pull them out or something. Or maybe do that external to the project (anyone could pull these definitions out and package them for composer). 2. Bugfixing; I wonder if it makes sense to allow preload files to override builtin functions. Then a fix in git could be pulled in before a new release is ever minted without the need for rebuilds. Similarly, hooks could be added to any function to customize them for private installs. Again, no rebuilds, no special skills required. Just thinking out loud. -Sara --0000000000009a007505ae7e94f9--