Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:109478 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 91166 invoked from network); 31 Mar 2020 10:55:39 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 31 Mar 2020 10:55:39 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 4D1F41801FD for ; Tue, 31 Mar 2020 02:21:46 -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,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-io1-f53.google.com (mail-io1-f53.google.com [209.85.166.53]) (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, 31 Mar 2020 02:21:44 -0700 (PDT) Received: by mail-io1-f53.google.com with SMTP id k9so20996553iov.7 for ; Tue, 31 Mar 2020 02:21:44 -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; bh=ABPvRMseSdQ2RqcAXwC5NQFLqnMAC0TUcwUFD317Qss=; b=evaDQBzYojHnNoiumWQ2Ihb5XI192tV4wxFrJICwpJB7nDXXrvWvS5u9bQOjfS0zIY A7kyXdWzSNW536Pj3toVy4Rkd8Hg8sO1ClSfpE3bWODJGJP7nD8FPZfZLKCX9t45YvE0 SuSIWclXRJvJAlCjs+1PSwe9wKvi4tWtLT80Bk7GTouaGYXQ5j1DjOxWRnmEXbhcMecA kREv0Y3QdQtZMTxa1wiT6cgBaQNMCSNP2dHeiSsOrK8A3P7Csu5yp13rBonx5jOsALe9 QxLWJ8qrsAlPwRjWxp52uFS/W10AdQvWAqPTg2aXYxN9VPPenFl+8k16h5FNS+m9yj2c kV2Q== 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; bh=ABPvRMseSdQ2RqcAXwC5NQFLqnMAC0TUcwUFD317Qss=; b=WWCZ0X+IcgA1YgqI0yndZtZvqY5mvC8xiX4mQbMu/204Rj82jvs6gjm8duRx3BP9WM Tl1EgX7ivzIsEQAtgjtCQdMV+yQcI8L3wzSomVmv9ztI//cHqknUqoZtQs8s4ZcOGYgO 0tGncrRttPKpattfxBpqQRQf3RTIuvQVbfgnDAU+zaHaTkoI8kn5zgNKgJPvTJlBeAXD YihXtmguIOYNIU/0/ESvDQojMIIAhiQMEKm5kDoba15QO7Ka50DEFBlVViDkbncsoEcM LOSL/YQHrwIEU5bSR/+B6DY60Ne5Qz3WuOm9pkFl89QN2wI3f7AlIidBk3tAMAxMHx0Z Ge1Q== X-Gm-Message-State: ANhLgQ3XBMlXpXJSNRnzRSxuv+Sdrv1cXF8HSAV1/BcQONZ8SFwblSwf fHz2HE+stwl3UJRObNuGU/GQPmDW10r1MccOJDJXz8OS X-Google-Smtp-Source: ADFU+vtl4EbNEam5CevL7twlm8o+Q1Gix0lJ3uUWlODwx1FpYVmL8byCXGYIIe+X0HxyMoKDZckHEB6tJroKaorSdhY= X-Received: by 2002:a6b:3bc7:: with SMTP id i190mr14538242ioa.204.1585646500252; Tue, 31 Mar 2020 02:21:40 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: Date: Tue, 31 Mar 2020 10:21:27 +0100 Message-ID: To: php internals Content-Type: multipart/alternative; boundary="0000000000006314de05a223186f" Subject: Re: [PHP-DEV] [RFC] [DISCUSSION] Compact Object Property Assignment From: rowan.collins@gmail.com (Rowan Tommins) --0000000000006314de05a223186f Content-Type: text/plain; charset="UTF-8" Hi Jakob, On Tue, 31 Mar 2020 at 02:58, Jakob Givoni wrote: > - Will COPA pollute the symbol/syntax space? Very little > - Does COPA have any implications for future language evolution? None > that have been shown so far > COPA is by its nature a brand new syntax, and that does have implications for the language; that syntax has to be supported by whatever parser we might adopt, and in conjunction with any future syntax we add. Even if it doesn't cause ambiguity to the parser, there are only so many special syntaxes that users of the language will want to learn. As an extreme example, imagine if we had named parameters using braces and equal signs, object initialisers, and COPA: $foo = new Bar({someParam = $someValue}) { someProperty = $initialValue } -> [ someProperty = $newValue ]; I hope you agree that this combination would be horribly confusing, with each part looking similar but having different semantics. It follows that whichever of those syntaxes we accept first makes the others less likely, and that is a real cost. It is true that we sometimes risk making the perfect the enemy of the good, but there is also a risk in adopting something hastily and then finding it hard to improve later without breaking things. Regards, -- Rowan Tommins [IMSoP] --0000000000006314de05a223186f--