Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:116806 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 26885 invoked from network); 5 Jan 2022 01:11:59 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 5 Jan 2022 01:11:59 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 258531804A7 for ; Tue, 4 Jan 2022 18:19:19 -0800 (PST) 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.2 required=5.0 tests=BAYES_20,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-ASN: AS15169 209.85.128.0/17 X-Spam-Virus: No X-Envelope-From: Received: from mail-lj1-f176.google.com (mail-lj1-f176.google.com [209.85.208.176]) (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, 4 Jan 2022 18:19:18 -0800 (PST) Received: by mail-lj1-f176.google.com with SMTP id q8so47785110ljp.9 for ; Tue, 04 Jan 2022 18:19:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=n3ztzDDZYRkwh+nAA6PWHWA2CQylzxC0qqOzOq68V34=; b=KjSArG+zpCyubUUG8MUsblx2+lQRMOlElH8+o+LE9CJiTjvkWivuIXevPQoBQE1MU9 syIy4n9Ukc/8bHwYj+O5zqPOgTbQ3uCyhzOqKnXovpflyUOxEx8641TdTnxPoUTL1Lqh LjgrXIvEwEa4EeXkHqLh7VzTreYOBkPMKNMs5VsfeNG8TsYlYz+YuN+YFr86qBJlz6Ds wpJpnfJ0K8bwfSOBYxYM5qxXo348pNMBHMPbfpvtKmerINfjIQVH3H+H/7q5yCOa2FiD xYWWEgRzTtkjLkX+jU1+hKgQlNIJO7rV9FcNmHl+rzyk8UqcXpzWet/OXj3PSW/4+Qd9 GrrA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=n3ztzDDZYRkwh+nAA6PWHWA2CQylzxC0qqOzOq68V34=; b=hmtqcZVGKbsFisxUI2JLmgM2rICPL/u2FeWpHDA4/FzmV82zQHkGe51oM8FRdV2u4t hQVZcxHjBzrBYaFimN+5SJHCQDD4H6VHBJ/v58LyHJih63uWxdeGaGaQhb9ZRA+bGkDk lbxUukwT8pliW7XKrAwn1v0vhWfLuwiyrFbFejEGE8XtmbqaBzrN+3x4nze8UftSFZTv HTJ9rHlC7HESH4o5yneJfbXdyHZcaAw3cObY4Hegmw9FAeVaKIsZiW5gR+ntiSz/fc5R TLn7uR33oaGsPBSYPGSbzi3R2h083v6ItfuJ/04zSVMB/uTpdSdRVG9B9y0USeWrvzwI aO4Q== X-Gm-Message-State: AOAM531e8bY1pcHyg6mGVH+nQKycRJEqMG+V2DfZ9AlPDzKlvsq+3lSs E//kvRjnT68JEuI0phnycjxLfWzMZX8z8ADxOPE= X-Google-Smtp-Source: ABdhPJxgIoCdHRQswqN4sjTL1zmL/p9gI6voL/piethEvqDKJBEm5LBLGOd20M6bcgb0vhXy+wt2QShc5tCG8jTwF+I= X-Received: by 2002:a2e:a585:: with SMTP id m5mr31952131ljp.228.1641349156667; Tue, 04 Jan 2022 18:19:16 -0800 (PST) MIME-Version: 1.0 References: <3225c921-9b26-d2e0-f76f-45fff6f5a12a@processus.org> <40a1e5fa-396d-d9ef-93ab-6fcfb5054092@processus.org> In-Reply-To: Date: Tue, 4 Jan 2022 18:19:03 -0800 Message-ID: To: Marco Pivetta Cc: Andreas Hennings , Pierre , Larry Garfield , php internals Content-Type: multipart/alternative; boundary="0000000000006f844805d4cc61cc" Subject: Re: [PHP-DEV] [VOTE] User Defined Operator Overloads From: jordan.ledoux@gmail.com (Jordan LeDoux) --0000000000006f844805d4cc61cc Content-Type: text/plain; charset="UTF-8" On Tue, Jan 4, 2022 at 1:27 AM Marco Pivetta wrote: > > I know you're picking on details here, but believe me, I'm serious when > I'm saying "use matlab". > > In fact, I did work on financial products where (from Java PHP and Python) > we used the MATLAB Compiler to create binaries and dynamic libraries, which > would then do the heavy lifting around the financial models that were in > use. > > "Use an external tool that already exists to accomplish this task" is not, in my view, a legitimate reason to reject a feature from the language on its own. I see it as a relevant additional detail justifying a rejection, given that the rejection is for other reasons. That is, it's more of a justification for "this is why the rejection isn't that bad" than it is "this is *why* it should be rejected". You can literally use this argument to reject *any* feature, which means that it's application is entirely arbitrary. Let me phrase this another way: if I came later with a different RFC that has a main use case of mathematics, would you reject that as well on the basis that mathematics *should not* be well done in PHP? I'm not asking rhetorically, I'm legitimately wanting an answer to this question. Do I need to find and demonstrate non-mathematics use cases on future RFCs in order to have them seriously considered? Mathematics is not niche. I simply disagree on that. And it sort of seems that you do as well, since *immediately* before saying mathematics was niche you also said that spreadsheets run the world. If this RFC is rejected, as seems likely at this point barring some changed minds, I can certainly accept that. Several of the yes votes so far on this RFC also told me they would likely vote no out-of-hand when I first discussed this RFC back in August, but I was able to listen to their concerns, continue improving the RFC, and also present my arguments for why it is an important and impactful feature to them. They provided me with concrete objections that I could consider and see if there was a way for me to address and incorporate into the feature design, and it made the RFC better. But virtually all of the no votes so far declined to participate in any of the three threads that I had soliciting feedback, in the chat discussions over the last 5 months, or even in this thread. I have one actionable bit of feedback so far from Nikita, suggesting that the RFC would be improved with different syntax. I am at a total loss at this point as to how to proceed with other contributions I would like to make to PHP in the future, as the only conclusion I can draw right now is that math improvements simply aren't important or even wanted. Can I expect this for other math related RFCs, or is this dogmatic about operator overload specifically? I have no clue, and at the very least, I would like to learn that. Jordan --0000000000006f844805d4cc61cc--