Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:116693 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 16883 invoked from network); 21 Dec 2021 04:38:04 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 21 Dec 2021 04:38:04 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 3B0451804A8 for ; Mon, 20 Dec 2021 21:41:41 -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.7 required=5.0 tests=BAYES_05,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-oi1-f182.google.com (mail-oi1-f182.google.com [209.85.167.182]) (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 ; Mon, 20 Dec 2021 21:41:40 -0800 (PST) Received: by mail-oi1-f182.google.com with SMTP id 7so19251185oip.12 for ; Mon, 20 Dec 2021 21:41:40 -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=JcKVWRqGv5FaUAJ89i3nOCxo8Fhri0npOVQ1Dz6d+NM=; b=W+w2bYKfeorWLVoDqaL9F1z2WXRrU1inAJqak1B0gBen1wj5mFC/dBoiz8W13yeg9Q t06PchD4OgRnuyAG7vrIOGDe9wwVYvEb0xhq0mzsaiVI9+UEM70yTUMk5gB2WCVfGwHH WA7njgoyAMr7WcX0RYjjlVWl4gf2iTe+CsaM7hEstfQdpjXDYrZtLYnXMtj8cEjRMuIG INMDe0RU10PTq7wInRPa5MF1E4fGoyMCFBHxkRfrU/HxSRjNIG8x5sZwZ5QAkeipeqn1 Ax8R02PeW3Qxo9Xsf/mimdjTZY2HvskqwqUfh+xtc74GK+9E5RN+kQOBswRPNfSH2MfZ IL9A== 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=JcKVWRqGv5FaUAJ89i3nOCxo8Fhri0npOVQ1Dz6d+NM=; b=wE5jUscosQmrCOD6sM3HYPUw4d7VKSzLQY/fWDW+drMwCAUYU6pFSgwYbJB2j2KRnw 7JW0oqoKVNhk/QQ/wTs+otD66xgkijBGqO6MDiMZ2sAzt3Cuj1PSpz+Oky65jpA2fGs4 FVvqZtn0wHN83dO+0FeyiH5MSj/EMzhgwk3ZL9lUQwcfW3wtkH7rY7jkjFH5LcPfTNHk 3gpA9ICg95Q+lq11BU4Z813DLu1pP01z6OtquP8a7ecfsy96MXfDVKrCQB08Rg86gbwP mqlhKW3LE/+TylWMNgNTK1pZoMmzbpnuB7/o3BDiG8AbBIS1GtV3/CaIsMM/4xs5PzjB mL4Q== X-Gm-Message-State: AOAM532DsNWHViQiUWT6HwQ7y2/oaIqo8znSbWJsnp+oko002lPsiogl 2W+YEex6h483yLCOlFoUJQ0S3CvfddwoFMjEc0A= X-Google-Smtp-Source: ABdhPJxya7VybRj/iBEhvqC8bapcUBZRIs6luwIVA3BSrxG7ZlOuPjbXQqhm8it3lKD3LgfHeoYFiJ8zgfvU4Y9JeY0= X-Received: by 2002:a05:6808:1187:: with SMTP id j7mr522238oil.173.1640065299830; Mon, 20 Dec 2021 21:41:39 -0800 (PST) MIME-Version: 1.0 References: <44b3fb4b-4693-1639-c8c0-5e17296c196e@gmail.com> <4b58c011-ed87-ba87-201d-0cf8e4116c6f@processus.org> <37dc7c09-37dc-44f5-89d5-fd3c1a256492@www.fastmail.com> In-Reply-To: Date: Tue, 21 Dec 2021 12:41:27 +0700 Message-ID: To: Andreas Hennings Cc: Larry Garfield , php internals Content-Type: multipart/alternative; boundary="0000000000009adbc505d3a17535" Subject: Re: [PHP-DEV] [RFC] User Defined Operator Overloads (v0.6) From: pierre.php@gmail.com (Pierre Joye) --0000000000009adbc505d3a17535 Content-Type: text/plain; charset="UTF-8" On Tue, Dec 21, 2021, 6:37 AM Andreas Hennings wrote: > > In a class Matrix, you might want to implement three variations of the > * operator: > - Matrix * Matrix = Matrix. > - Matrix * float = Matrix. > - Matrix * Vector = Vector. > Same for other classes and operators: > - Money / float = Money > - Money / Money = float > - Distance * Distance = Area > - Distance * float = Distance > these are bad examples and nightmare to maintain. I think even more with lovely typed languages. Matrix*float are better implemented as method here. > --0000000000009adbc505d3a17535--