Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:118767 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 31349 invoked from network); 6 Oct 2022 13:06:36 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 6 Oct 2022 13:06:36 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id A7235180211 for ; Thu, 6 Oct 2022 06:06:35 -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,NICE_REPLY_A, 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-f54.google.com (mail-wr1-f54.google.com [209.85.221.54]) (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 ; Thu, 6 Oct 2022 06:06:35 -0700 (PDT) Received: by mail-wr1-f54.google.com with SMTP id j16so2637307wrh.5 for ; Thu, 06 Oct 2022 06:06:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id:from :to:cc:subject:date:message-id:reply-to; bh=MZ677melyOeO72J9Er2tuFq+TFes/mKWgOLi1TfCenk=; b=de2/kBmoCqyJTTaMp5lrGvrjcCLFDTrsFSwStHs7CCa5Idm3gyYsPyPb2bDNrbCJYm k0Sx7QSaRXbpLvkVKhvfzYpO7H2PxK2gaEa51udofpVHVj4HkntpUIoJ+0OY1r+xn7dy AsdZm7nZi9Ix83HD6F9fnxg+G9uaT70G98iccAIQLtVEp43F5o1ozisCD1qkUw1k9yIB PRqZkIV3LEE04SzjQ+CXdZUK89BXvHerwq0EKRWQM1dI2US6blV2ZAaqozJpXR6NhsL9 gSHoALp68W58sLtntOjfgOgkGY3Ip2685pRZ70S7kPVI+2MWQsYvv2nnDBEHj7Vz9l4R M9RQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=MZ677melyOeO72J9Er2tuFq+TFes/mKWgOLi1TfCenk=; b=CJ6btvxDWakDshbWmCHv/kTRx4PuQWKcZhKxcV5Z62lTFS2SpdC07xq2Knfmzg/aRa BlxsdUN/xUomvzIVD3gatoSPTglstjOwXw97OVsPnVv/AnRelmjphRacFLnYpSGjQkSk 7pDFvzBWxM5KzU535Q06rmdWxXcNv+0gljduEj/SZvH+UlSgmjLyg6yi72aBf9TxqlyO 8EtfdX6StHvY34MDlvGaHNqDS1rPr/GaRCecpb63603Mv7H+ryGHfK0xAced1Kf+SbRb yJcNpEW3UAVjx13ZTYvnBoGBrOkJvv0GKVPQyanF4DPhQgTgbdEMIaX51L/IxfNIsgPv Yyog== X-Gm-Message-State: ACrzQf0BmOnKfAGurKe3wDVGdAYwtaasaELHB8sC4RwKvHXmjuy/WS5I Ng07tcmudLuEpLQAz6EjnYV5DBz+3Eo= X-Google-Smtp-Source: AMsMyM49J29VTaf5dnoloWRW4IWW+/Wz6GPqGOEFF2ZhbtZwq39YtBdveVvs3yreDuWsc7wVwXhVdg== X-Received: by 2002:a5d:64c4:0:b0:228:e143:ddb8 with SMTP id f4-20020a5d64c4000000b00228e143ddb8mr3111046wri.148.1665061593869; Thu, 06 Oct 2022 06:06:33 -0700 (PDT) Received: from [192.168.0.22] (cpc104104-brig22-2-0-cust548.3-3.cable.virginm.net. [82.10.58.37]) by smtp.googlemail.com with ESMTPSA id c6-20020a5d4146000000b0022a403954c3sm18166828wrq.42.2022.10.06.06.06.32 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 06 Oct 2022 06:06:33 -0700 (PDT) Message-ID: <1aa20877-3365-0ace-25d2-1cb1be8f3bcc@gmail.com> Date: Thu, 6 Oct 2022 14:06:32 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.3.1 To: PHP Internals References: Content-Language: en-GB In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] Experimental features From: rowan.collins@gmail.com (Rowan Tommins) On 06/10/2022 12:16, Alex Wells wrote: > A marker merely just tells the compiler "hey, allow me to use this feature right here", i.e. it denotes a piece of code as allowed to use the feature, not enable it. Effectively, all experimental features are just regular features that are "always on" and hence can be optimized the same way regular features are. The marker serves two purposes: allow simple discovery of usages (by the compiler or other tools) and force the developer to acknowledge they're using an experimental feature with an unstable API/syntax/spec. I don't really understand the distinction between "enabling" and "being able to use", nor what it would mean for a feature to "experimental" but also integrated fully into the language. In general, I'm finding it quite hard to follow the idea in the abstract - the definition of "feature" seems very fuzzy. Could someone give some examples from another language, or concrete examples where it would be used in PHP, and then work through the details of what would be expected to happen in what version of PHP? > Regarding the monitoring - that is a problem that needs to be solved and there are multiple solutions: GitHub issues, corporate/public messengers (Slack?) or the internals mailing list. There are certainly ways to approach it; I'm just agreeing with a previous commenter that this would need to be an explicit part of any proposal, not just hand-waved away. Regards, -- Rowan Tommins [IMSoP]