Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:125003 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by qa.php.net (Postfix) with ESMTPS id 856601A00C9 for <internals@lists.php.net>; Fri, 16 Aug 2024 22:39:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1723848049; bh=J3leKqs0OhP7txn0TBzNIyRykF9jA87cxHynsEun4xY=; h=Date:From:To:In-Reply-To:References:Subject:From; b=WfT4yoOQo3FLIjeltJFnk9G/XZ5ewCN7yItm+p9tpl0FYBPQOyKUqRybFVO9SLtLo E/ptsT3Nl3qljpwKnibv3heDEzpB+J+VykkeOtZIEYxsBbfyYLMUv31NRymlbmdx3X OycyfwFFc1CqzdnUVdm0UaqypdhArDj5dhzwdeilmBYOjAr2Ffo2pZXUivheYEWTKP 6hdeARmokMFGL16jmi98xTVTsQXT6+yzKmhrEHScb3XcVsTKEjuVWSuY+nqUFAPPFB aL3+QgUBBh67itRHkSz03Wbgp90GQqLZUVmghVGzdFqraTs36FhqO7Fjv85kN1ajGu GLOQTIWlSxhhg== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 091B81801ED for <internals@lists.php.net>; Fri, 16 Aug 2024 22:40:47 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-0.1 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_MISSING,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_NONE autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: <larry@garfieldtech.com> Received: from fout7-smtp.messagingengine.com (fout7-smtp.messagingengine.com [103.168.172.150]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for <internals@lists.php.net>; Fri, 16 Aug 2024 22:40:44 +0000 (UTC) Received: from phl-compute-03.internal (phl-compute-03.nyi.internal [10.202.2.43]) by mailfout.nyi.internal (Postfix) with ESMTP id 31CDD138D8D1 for <internals@lists.php.net>; Fri, 16 Aug 2024 18:38:57 -0400 (EDT) Received: from phl-imap-06 ([10.202.2.83]) by phl-compute-03.internal (MEProxy); Fri, 16 Aug 2024 18:38:57 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= garfieldtech.com; h=cc:content-transfer-encoding:content-type :content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to; s=fm3; t=1723847937; x=1723934337; bh=dDoSIX6Uu+rAJcNjDrVmZ O0+QuAA/o3bCMIeX58EYZI=; b=bl6YD6wdwkSQ25uYod/eq2KdhbC8nNc4dJqAI YwaIiTsUHg5KXQPvgMAs00mBVUXiC4DdAzT8ywZ/pAOzmhNMPdFjd1O1wShQEv3M dzgf/S28T/6gcZv0uz+Yc5fol0kiZ5tSXpJjMCaSbufd0qLJAy71zDoZVwtsOkOQ VVjVrxrgkls8MgmY+XkSrCyYo1TyrxPMYvV+3XPV8VkwsKLvRpsUVFU0JqjJJl7e G9ik8dQlFiIAutiSZWPpcdmZ0vyoZzf0qVhS4eYArvrlcWNzBjtR7ZY5Frk0BEvT gbcwKlc1/R0ncVP1KqUL9wTeWeFNJU3cv3nYikVIwI7TviKNg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1723847937; x= 1723934337; bh=dDoSIX6Uu+rAJcNjDrVmZO0+QuAA/o3bCMIeX58EYZI=; b=B YOxIpxXiY2AJ4nr2vO1pMkAilQWf6F7wkPPuYz1Jf5WiLXJptdMt35Ybwd/RiRYw 0h3l3Jl4ddGXohfPZOd/q9z75htrSyiLLaCRcLsgnDQMYqQ1W2kBf6RtefY3lWt1 pE2VGVvXc7ZMTZzJx5zzxUv4pQUAYF7kGRwMNHdAXmOifgocUCAeTyDzrfhTin5d YHqmQuRrQdKWOT1E9sYGSUL5qoenvnWHC0bmzuHxH8FZz60aEX2D1RmViKLMvVtX R/0CMf+gqzyCDs7y6645HY0ZXjC1Q3ZqmoR7XEU3UmOe2t0dN9DadAOEQcMuc1Vp HVXd4oxAraNhoAbY8AU1g== X-ME-Sender: <xms:AdW_ZrFhuTmDwqfYBoIDSuIOcNyEOwjgsja_tSeAXm1Ru4leRuAYpA> <xme:AdW_ZoW61fYy7bKyMF4yVijbzBQIzNssl7a-ro1K_-EO6kkvfXPt3OdnqLk8u5xMQ 2AmymCAetvQPA> X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddruddtledgudefucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh htshculddquddttddmnecujfgurhepofggfffhvffkjghfufgtgfesthhqredtredtjeen ucfhrhhomhepfdfnrghrrhihucfirghrfhhivghlugdfuceolhgrrhhrhiesghgrrhhfih gvlhguthgvtghhrdgtohhmqeenucggtffrrghtthgvrhhnpeejheefkeeigefgheevleeg fefgtdeuheduueetkeduveelvddtheduleeluefhvdenucffohhmrghinhepthdrmhgvne cuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomheplhgrrhhr hiesghgrrhhfihgvlhguthgvtghhrdgtohhmpdhnsggprhgtphhtthhopedupdhmohguvg epshhmthhpohhuthdprhgtphhtthhopehinhhtvghrnhgrlhhssehlihhsthhsrdhphhhp rdhnvght X-ME-Proxy: <xmx:AdW_ZtJAkF5DDUF0iVfZhukezeRxGJtpJ_rLqkxD_QPo57u-2Tqqig> <xmx:AdW_ZpGxIwAboOYbgctydKkT9mOXerxgXpv2VG98QhgAQ074qo4jJw> <xmx:AdW_ZhWlqsyuRGnDlVP4CKP8Rwx7oyC6t_1o2Y31HZlvM_mVy6PgvQ> <xmx:AdW_ZkPEO1s-a6JBACYSupkNk7XNhsCLfpLuuEKRkflarDriNF4L-Q> <xmx:AdW_ZgDZYpCwMtnCvjwmsDQs7K92dOARuYxuvqbVMkHJDIriApYEPtYT> Feedback-ID: i8414410d:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id EC03B940067; Fri, 16 Aug 2024 18:38:56 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface Precedence: bulk list-help: <mailto:internals+help@lists.php.net list-unsubscribe: <mailto:internals+unsubscribe@lists.php.net> list-post: <mailto:internals@lists.php.net> List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 Date: Fri, 16 Aug 2024 17:38:35 -0500 To: "php internals" <internals@lists.php.net> Message-ID: <e1a9092a-8d18-4a27-ae73-58715e9bff19@app.fastmail.com> In-Reply-To: <CAL0xaBGbBRi3X68J39PYAsbUcN9+PqTGHJjnWZHEYkaipBwnkg@mail.gmail.com> References: <34548342633f1d87b2fc77c643bd895a18f71b66.camel@ageofdream.com> <CAAwdEzBWN40q10Q5ua_ZME29dJSqs=BHB1LxJ62mN-vXWNw0xQ@mail.gmail.com> <79817594-f9a9-4f02-b48a-4bf39e4372e6@app.fastmail.com> <CAL0xaBGbBRi3X68J39PYAsbUcN9+PqTGHJjnWZHEYkaipBwnkg@mail.gmail.com> Subject: Re: [PHP-DEV] [DISCUSSION] Class Constant Enums? Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable From: larry@garfieldtech.com ("Larry Garfield") On Fri, Aug 16, 2024, at 1:31 PM, Arvids Godjuks wrote: > Hello Larry, > I feel obliged to remind about the 80/20 rule where the last 20% of=20 > progress ends up being 80% of all the work. And from the discussion=20 > it's already looking like there are some major questions and caveats=20 > and engine problems that are gonna rear their ugly heads. I'm more in=20 > favour starting with somewhat self-contained features and steadily wor= k=20 > to expand on them as people put the effort into it. The same as was=20 > done with the type system. You can lay the proper foundation now, so=20 > it's not blocking future expansion, but I really do not think full=20 > embedded classes are gonna be a short endeavor - probably multiple=20 > years if not half a decade going by prior record on features of this=20 > size. > --=20 > > Arv=C4=ABds Godjuks > +371 26 851 664 > arvids.godjuks@gmail.com > Telegram: @psihius https://t.me/psihius To go off on this tangent for a bit... There's a difficult balancing act to be had here. On the one hand, yes,= design small and grow as you get feedback makes sense. On the other ha= nd, if you don't think through the whole plan, those early steps could e= nd up being blockers for expansion, not a benefit. The most obvious exa= mple, readonly was billed as a building block toward aviz. It ended up = making aviz harder, and it not passing the first time around. It remain= s to be seen if first-class callables end up getting in the way of full = PFA in the future. The piecemeal way in which anonymous functions have = been added over time has led to a lot of rough edges, and made discussio= ns about smoothing them over harder (eg, the auto-closure-long-callable = RFC). When those first steps are effectively set in stone forever, rather than= something you can adjust based on future feedback, "YAGNI" becomes an a= ctively harmful approach to system design. --Larry Garfield