Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:118756 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 58342 invoked from network); 5 Oct 2022 17:41:26 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 5 Oct 2022 17:41:26 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id CC63D18053F for ; Wed, 5 Oct 2022 10:41:25 -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.1 required=5.0 tests=BAYES_00,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, T_SCC_BODY_TEXT_LINE 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-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Wed, 5 Oct 2022 10:41:25 -0700 (PDT) Received: by mail-wr1-f42.google.com with SMTP id a10so14666943wrm.12 for ; Wed, 05 Oct 2022 10:41:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date; bh=ak0EknEmIyZJFX2QyWaZXpX1Xf78h4kovYVZgykdnm4=; b=Awt9GtghOKOcrD+BNiEtIjCv7sdKY4KUpMr5rsd4UDYQxbLZqqJ6dXR8lfS+IpJD12 9i+5mCjFsZsQO2G+0Rf2PYibsC2MvNpWUpovsPKznNQgkMh6ly/vlf+1dpbaKrZnJ7uU jbQ9qvczyE/toD1llSH7/j5yyqWal4lRYz+VKDUD1HHHZVIjQrvQ9SWZqIWJ1m6nbcyR IuhgtvLbV61SOVZP8IQQcINZPDdYXHV7ixUEBer6z9+opiWQJHFJycuQjuaGZPJFA27G VdFDK/k354tZw1+w0zEx1JCIs66MGVG7SwBHAzqAC9r/43RMLvOonr+/Y4NIB/h3T7Ks oCvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date; bh=ak0EknEmIyZJFX2QyWaZXpX1Xf78h4kovYVZgykdnm4=; b=VEHpK1GB4NChGygi6X1v1TDFtMBD1GbB6R6i3/7IFZaXDreo20DsjrCRsJgDOlSMXS GU3rVPT1jm28kVXE5oWx76W10o0ABKTAyiQfDqNp4Aqqk2BaeCrETIve5zKz3mnBX40Z QVr2+2QXOSMvRz9RfFd9/32T1z4oMVECxjGVr12QdixmJX4GjlZyMrJIWmFeuyDIeD9T BeS40/2sOJKVMkM+v1JqI9osmob21u3v97FydHSnpalkQiQjGY7PVfh2AmT1ltotUxmk P8lB9Oxki4GArKMJTlouJmv/QLnsFfmGtYFUGCCMRBg8P5ogjgqs4Jvaob+LDMi574Oe fSTw== X-Gm-Message-State: ACrzQf3XGfRj+KmLvkNhoe0/wOCO9UmUYGGpw9h8fNv86KhoduxvrnWe haLWnr5S8s2w+95s5aCA5glfRGR4xwKcpLljjmlNlfs+ X-Google-Smtp-Source: AMsMyM4+FqGbZVIllOEtD/FaDtqvbcE7m+xgp9DPJJzqeFmnPMI5EHb+owFadfpcX98PSSRQHxpf9Ds0+WYimKF0obM= X-Received: by 2002:a05:6000:1e03:b0:22e:3bf2:4685 with SMTP id bj3-20020a0560001e0300b0022e3bf24685mr568116wrb.82.1664991684183; Wed, 05 Oct 2022 10:41:24 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: Date: Wed, 5 Oct 2022 18:41:12 +0100 Message-ID: To: PHP Internals Content-Type: multipart/alternative; boundary="000000000000e3cb4f05ea4d15d3" Subject: Re: [PHP-DEV] Experimental features From: rowan.collins@gmail.com (Rowan Tommins) --000000000000e3cb4f05ea4d15d3 Content-Type: text/plain; charset="UTF-8" On Wed, 5 Oct 2022 at 18:07, David Rodrigues wrote: > Another advantage in this sense is that it would be possible to have a > single development branch for PHP 8.1 (current version) and 8.2 > (development version), for example, with the difference of some definitions > in the code that activate or deactivate the experimental features already > developed for the future version. > The problem I predict with this is that unless they have a convenient "hook point", experimental features would lead to ugly code: they need to be enabled at run-time rather than build-time, so are hard to optimise; and they are going to be released after a short test cycle, so need to avoid refactoring. Maybe there are enough "hook points" in the engine that some categories of feature could be implemented without too much disruption, but it's a complex beast with a shortage of experts, so I'm wary of adding more complexity. I also agree with the previous comment that this would need to be coupled with some way of monitoring the results - imagine we released an experimental feature 3 months ago, what do we do exactly to find out if it needs changing? Regards, -- Rowan Tommins [IMSoP] --000000000000e3cb4f05ea4d15d3--