Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:124308 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 CE4401A00B7 for ; Tue, 9 Jul 2024 16:53:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1720544120; bh=ZddSJzL6QLKDHBXHYTTzIuDxIEWoWME10UEc8kj/+CQ=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=BpsWIzPZLKPgwwOjy0kLrHkmeH1ykHibsRHAE45DivFaDFndYdOosWsJfD4PdnULc bv40nKVGuI2xtSkGC9goPcHe5zTD7S2qTZh0O9fZF+sVXtJBoycBpnxkb9fuaCHodp FLFPK14BHwJaq17ePPkPrElH9dCw/ayyGxVEjIrhcM2ewdIqrM1iW1HIVsQ0/22ED4 H1PTSAhcP75Wlp2ZMkUnRuo3MRvW2fSav//xxI3gjHjgkUR4JxTFXLN2p6ALxWiKDC B2gBDUQi1ODkQjkuImRN1cBVzFr/qs/QTsMd4xg7ybVkEUaU3c/+/xXTGwgqFRS9oQ eDUm3ob/hI/lA== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 3E4B818091C for ; Tue, 9 Jul 2024 16:55:20 +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.6 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from mail-io1-f52.google.com (mail-io1-f52.google.com [209.85.166.52]) (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 ; Tue, 9 Jul 2024 16:55:19 +0000 (UTC) Received: by mail-io1-f52.google.com with SMTP id ca18e2360f4ac-7fedb09357aso106076239f.2 for ; Tue, 09 Jul 2024 09:53:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=datadoghq.com; s=google; t=1720544034; x=1721148834; darn=lists.php.net; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=ZddSJzL6QLKDHBXHYTTzIuDxIEWoWME10UEc8kj/+CQ=; b=BAMfVPtbWJByjkv3X4SmlHCGZS/RAbHrPFoynJRBUIjJVFiKRAu4Lk/aiVlikD5KX4 voIm5LmDPBqnXiwTzZyN5JiRomsgs5ASigGHnYZcvAWmUt41ZFvl3wsRruf5rjd49iiX R+UJ9Kj1lpS1FyAT6AC6gZo1CW8YNa0O5RZRc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720544034; x=1721148834; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZddSJzL6QLKDHBXHYTTzIuDxIEWoWME10UEc8kj/+CQ=; b=NVz1eUiqQdUbRSX3ZQj31DLWop50mH9ugCwFGOoOyYYlWV+Ukckvnuc39Wo+S6Apex h6C3e4EnPc4/RqlfyeX30zWjN+fnHQmPMEWr4h4ODx5T9zyMHbj91kBnXP0zaX7KDIP/ LOCXNk96anq+sm1iVPGU3nsDMzjjanXpZMqt90xtk9UHzNhu1AanRTGbjudjkNEdp/lg DzBSrsIk2ydu7TviY2lJZkkmTbM+7Kv53bMiPQSJPxUOwYZy8mPpSdIWAFIAI7RB+/5m kKVoxxjqyIXXSTJDtu8PKYLVaMpKxE7WwaVBLKrH3EvQKDHr8dyjGlJz4ZzwBGx8nQlZ 21HQ== X-Gm-Message-State: AOJu0Yz3JVif43gVHAKktit4FuvtbUOhpTdmv3n7kqonJofHlOkm0uRv nhrHX1rcC0a7A13yY5rVahh2672boNwklveONzoqv9HIail+EmP3XuKiLutS3JqxNOpa7ywoRyI arjqume9m2D+S4naoi/cvgIwpLBwyetCVINfN6w== X-Google-Smtp-Source: AGHT+IFTMr3qadizBZTRrGpnRcgTXZV1GqrEDCfZHKwJL47DQ7RiIzIycXJ9oK9AyWyqp7dtVK/5ne9L6SSK0Zxz3j4= X-Received: by 2002:a5e:c248:0:b0:7f8:c13a:d507 with SMTP id ca18e2360f4ac-800011810d2mr329354639f.9.1720544033550; Tue, 09 Jul 2024 09:53:53 -0700 (PDT) Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net MIME-Version: 1.0 References: <07A8534A-1B45-4F15-A78B-AA7DDF92B8B6@koalephant.com> <5BA404A4-7281-475F-A1F6-D1252ABB059D@miles.systems> <39B8662A-FD7D-467A-883C-E8D71B5A4E02@miles.systems> <09B5B065-35B2-4E67-9EDA-DF6076F4B2ED@miles.systems> In-Reply-To: <09B5B065-35B2-4E67-9EDA-DF6076F4B2ED@miles.systems> Date: Tue, 9 Jul 2024 10:53:42 -0600 Message-ID: Subject: Re: [PHP-DEV] [Initial Feedback] Typed Arrays To: Richard Miles Cc: php internals Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable From: levi.morrison@datadoghq.com (Levi Morrison) On Tue, Jul 9, 2024 at 10:18=E2=80=AFAM Richard Miles wrote: > > Hi Levi, > > First, were you able to discuss this with authors of other generic > proposals or implementations? Derick Rethans and Arnaud Le Blanc both > have experience there. > > > This proposal has nothing to do with generics. > Derick Rethans responded in this thread, and I've specifically addressed = his current (generic?) branch. > It is a community misconception that typed arrays have anything to do wit= h Generics and also > has been discussed in this thread in detail. > Is gatekeeping you asking me to repeat what was discussed back to you > specifically so you can grant me privileges? I digress and I'll concede. Please calm down. I am not gatekeeping, as I don't even have the know-how to grant you the wiki karma. > Second, do you have any work towards an implementation? Technically, > an implementation is not required for RFCs. However, for this feature, > > > I did start on the implementation and have linked the branch above, but s= topped after > Rob Landers=E2=80=99 suggestion: > > In my honest opinion, before we can even have this type of conversation, = we need to have an RFC about the syntax (there may already be one, I haven= =E2=80=99t checked =E2=80=94 and internet is spotty where I currently am). = The pattern matching RFC was proposed as though it would be written one way= , people have thrown out ideas of different syntax, but I don=E2=80=99t thi= nk there is an =E2=80=9Cofficial=E2=80=9D syntax. A good starting point may= be to simply propose an RFC about syntax so future RFCs can be consistent. > > =E2=80=94 Rob > > > > Also, directly from the how-to page on the mailing list "https://wiki.php= .net/rfc/howto" > > "Email internals@lists.php.net to measure reaction to your intended propo= sal. > State who would implement the feature, or whether the proposal is only a = =E2=80=9Cconcept=E2=80=9D. > Proceed with an RFC if feedback is not negative or if a detailed RFC will= clarify the proposal. =E2=80=9C > > So, unless I'm mistaken, I think we=E2=80=99re going about this correctly= .? I=E2=80=99m not sure whoes 'voice to follow=E2=80=99 since > Rob and Levi have differing opinions on paths forward. I personally would= like the syntactic approval before > I implement the full code. The complete implementation details would need= its own discussion. Syntax is part of the implementation, but it's not the hard part from a technical perspective. The hard part is actually implementing the semantics and behavior, and plumbing it through all the parts of the engine. It does not matter what the "skin" of the thing looks like, if the mechanics of the things simply don't work. Also, I don't mean to say you need a complete implementation, either. More of a "proof of concept" which means that core issues have been identified, and are either fixed or outlined so other people are aware of them. > I can guarantee any RFC without an implementation is dead-on-arrival. > > > You're not the first person to have a guarantee in this thread=E2=80=A6 := ) No, but I authored and co-authored many RFCs over many years. I was trying to be helpful. I'll state that I don't think your RFC has any chance of success. The syntax, the semantics, the discussion so far, especially that typed arrays have nothing to do with generics... I think its chance of success is quite low. I messaged you to try and be helpful despite my own opinions on such things, and tried to point you to things that I thought would be helpful if you wish to pursue this: 1. A proper discussion with authors of other proposals, including ones related to generics, is prudent. Even if you believe they aren't related, I'm sure they've learned things about the engine that would be helpful to you in your implementation. 2. A proposal for a significant feature without the bones of an implementation simply will not pass. Since the RFC process was created, I don't think it's ever happened. There have been cases where the implementation changed from RFC to what landed (Dmitry completely reimplemented from scratch one of my RFCs that passed, I think it was return types), but a basic implementation is needed to fully understand the problems and challenges of the implementation. Lastly, I'll note that I responded to you off-list. I don't know why you brought a private conversation back to the list without discussing it with me. There wasn't anything rude or inappropriate, and the rest of the list certainly could have gone without this conversation. We should respect the time of everyone participating on the list.