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