Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:115786 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 51339 invoked from network); 24 Aug 2021 09:39:17 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 24 Aug 2021 09:39:17 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 0A8D91804B3 for ; Tue, 24 Aug 2021 03:13:14 -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.7 required=5.0 tests=BAYES_05,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE, SPF_PASS 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-ot1-f54.google.com (mail-ot1-f54.google.com [209.85.210.54]) (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 ; Tue, 24 Aug 2021 03:13:13 -0700 (PDT) Received: by mail-ot1-f54.google.com with SMTP id i8-20020a056830402800b0051afc3e373aso33266069ots.5 for ; Tue, 24 Aug 2021 03:13:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=/WYL3jruhLe5q9vJ9DGeMOUNEFduuWO6AMaOBtL9HG0=; b=Rj+6RKCBkV4JkJRH0f3O/0HupCyrGyH8OQNpkvaTPSGn6sJV8ZT0UwrVfy/wQcYG6R 5QbxYQvU1tPDLyGKhkBmjCMgkhPY11zPtPE7Oz3r20mdpsN84wsw+i3EanDM12MTfcem wQwn3vrtkQTcNbvcxziZOp2Yc9AIeBycgCO7ZWRwkcuYQRfD21JqGCSYfQU7HHgenwIU ilv4W9vji6rRHAr9l9yQuOSmq+jcRWu/umGMi44oRv8X/D/oHZmF/Y+gBx3CBAVKDrqS /7iP9bfLtypKFEcFkIsAz+0XMXgXFJONngvh9G6pDwaMICHPXfLuXVBMwMSHWbgLvQ5q /s5Q== 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:content-transfer-encoding; bh=/WYL3jruhLe5q9vJ9DGeMOUNEFduuWO6AMaOBtL9HG0=; b=gPAXgqeTpK5VxEg/sBm1R9WSWKSfhg1/ayQD84w+KrQtDPOCGLonMgLNA74tyFQ7w4 jdn+xoUYM9k6LKer4RbbXwIucGQ5Wt+6iBWgB/2XZAIhlx7Ke/p0ZHKRaDr6M2W5gOrr d8dZQz+8AVXUPlHJpz+M6oxkRJg9WNXQax/dhlwbLuK9v7mathhHvRf+cVHwSSg8KKzU yGYQAit8nFJGiXTJ2HJmBw4lXRXrtZpD35o/VMPERK0IErIy1o3U99x40Y9T9IKKdPvU hVFmdp9ZeLWD+229zlOMKsvhMZCH/llwCxHpyr7uRyQ9zgOvnpnek9KkhAqBuXqLoSt0 zmZg== X-Gm-Message-State: AOAM532Py8MQplV+lUGWiUHkwx5LpYOZrTpBh5e+ocaPG7JUfpfbWBR9 5YQtImGEBECQMKXWtk63yW0eLCbSiVOew1GcH6g= X-Google-Smtp-Source: ABdhPJyDthknY2rL5+JpEhNMKS214xyBNBYYmuVH/2dLciT8BRCsD8Wz/tDi43Lx0yxzZFycOtDMoBwWIgwF2i25VvU= X-Received: by 2002:a05:6808:3d9:: with SMTP id o25mr2252107oie.168.1629799992121; Tue, 24 Aug 2021 03:13:12 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: Date: Tue, 24 Aug 2021 17:13:01 +0700 Message-ID: To: Jordan LeDoux Cc: Deleu , PHP internals Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Subject: Re: [PHP-DEV] Guidelines for RFC post feature-freeze From: pierre.php@gmail.com (Pierre Joye) Hi Jordan, On Tue, Aug 24, 2021 at 4:55 PM Jordan LeDoux wro= te: > 1. Are too large or complex for voters to make an informed decision about= . This is the real problem. Also you are correct on the cause (complexity of a topic), I don't think we are not able to understand complex RFCs. > 2. Include too many aspects which are controversial or which have strongl= y opposed viewpoints within the RFC voters. Incomplete implementation of a language construct is an order of magnitude worse than having to wait a bit longer. > RFCs which do either of these two things cannot pass, therefore all RFCs = which pass do neither. Together with others I wrote the RFC RFC along with a few required after this. I fully grasp how hard it can be at times. However language constructs are not some random extensions we can drop, replace etc. They are basically there forever. And forever in my case is as long as PHP exists. What is one more year then? :) > and new language features. Which should be clearly complete to begin with, as much as possible. A hard to find agreement is not a good enough reason to push a new incomplete language feature, in my book. This is my only point. > These are not bad things to value, and I don't see how you can expect RFC= authors to avoid proposing features which some may see as incomplete. My o= perator overload RFC is something I've already put at least 100 hours into,= it's trimmed down to a very limited set of operators with restrictions on = certain implementations, I still have many more hours of work left on the i= mplementation in order to make the necessary changes to opcodes for it, and= it still will likely be something which there is significant resistance to= . I might put in excess of 300-400 hours of work into this RFC only for it = to be rejected because of differences of opinion on the feature. You most likely will, and we are all grateful for that. It also shows that such RFCs are not about a single individual. Language features are better designed, proposed or implemented by a group of persons. That's the tricky part but it may help a lot. > > I would be very disappointed if I was able to successfully convince voter= s of the value of my contribution, address the concerns that were presented= and find good compromises, and then be told that my work was faulty and in= complete because it only allows operator overload for objects instead of gl= obally or doesn't allow overloading of the null coalesce operator, for inst= ance. I cannot say anything about it as I did not go through it deeply. However, yes, I would rather vote no on operator overloading not being fully documented in the RFC. I could imagine not every single case could go in the 1st round. While operators overloading add enough complexity already without having to think about where it will work and where not, as an end user. But the roadmap must then be clear, implementation etc. The idea of saying "let see later" is not a good way to accept language changes. Best, --=20 Pierre @pierrejoye | http://www.libgd.org