Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:124315 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 CE0A01A00B7 for ; Tue, 9 Jul 2024 17:50:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1720547534; bh=CsV5pIrjT+l9x/UJh9A2bVdAfLv9t+l1leXrUZhNhWI=; h=From:Subject:Date:In-Reply-To:Cc:To:References:From; b=gPb1NG2hkWYuweU2T9ii7P+nGpVp9Gjf1nsqOpITyJVZ5BSCPkFt1TP7+BGJploAG qh0vkcjGb6PErnzPwYE2rPWKNimcjuYkOA6HiNib+nI9CoRXVU5bDYJe4hnIZVo88d GlzoseazGdvoQGP0f+mxGDw98SbfQlbcgk1+roXhcJzo3JOpLVFdUPrKq2a+FTGSbV LkgXSLLCCk+k6eM+O/TlhIFt4kRjYLYuyrBunZjUOlB1wUi6UVjgZEzcqBTnucLUe5 7iKgvJB32kXnVVpR3F9uklnLx+Fv79IToaPUlV6AApcQiTRZyohTxeVgdT7eU0hnZ/ RJA1AFyu5FsYA== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 0E033181361 for ; Tue, 9 Jul 2024 17:52:11 +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_MISSING,HTML_MESSAGE, 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-f44.google.com (mail-io1-f44.google.com [209.85.166.44]) (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 17:52:09 +0000 (UTC) Received: by mail-io1-f44.google.com with SMTP id ca18e2360f4ac-7fb93b2e2a3so109227639f.1 for ; Tue, 09 Jul 2024 10:50:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=miles.systems; s=google; t=1720547443; x=1721152243; darn=lists.php.net; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:from:to:cc:subject:date:message-id:reply-to; bh=ue7wbSGakgaBKiouYCQES5Pu4nwGnSwF97PPNgk691g=; b=C0LGLzXfrWLN3CTEE9UJqetwXx3NVZAIEnhWPpanhOSyxZ3vx44Fm5JnZT6YATubDT kRiwqJlnRtmIjBLrv6cwcwBOVNjrzi3j0TKB3pQZOkloIKCkr1WlD9evRXhhd/bcxYb9 J2aTLvQnckIuJuQ8tGoK1AFgQejym55x/wQX8nAvopjfIkd44Vgl/B5CtePBjH9MaaV5 RDKb1RsKgCyXDmFiFvbzTk/MXSHPgJtnkT3QuOiNp+v/v6dDn8+2aNzUa7igF/Q2/xaG t8N9V5niyCcs/Ks418sqJrwH5BifcNO4VcseZkkaxW5+Kbndjh8GpEE0PL0U1fj3bCOW 3Onw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720547443; x=1721152243; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=ue7wbSGakgaBKiouYCQES5Pu4nwGnSwF97PPNgk691g=; b=gySIK8L35Ox7p5xoCQXCG41gI0NxD0PWdVaWVqCD2sTzL6oIOoNo2pJKAUa8yMEQ6W kA3PgTuwqDvJjzIkJPb04zMnbZBIXZViQpyn0nHJB1fnDXHEkT5r7vpFhndngGgcU72m Q+9koDuqMmHTwOJJpNs5m+BOEZfciN+CkaRxTAjMvM6BnU8kusTdsw4OZkEVrV1+4+Gg 2UKSBJ86cK1rN1Q5egRlOebklB2saf/P0S5drjwkM+sMnG7owg+MyDZH17DI+ymFlbBA ru6ATQo6GHPZoXJu4st8PCU5EmNFPFVeC8lLQ6xDSYDdHGF5sT4PeVDBh5tMlECsWUme 7Msg== X-Gm-Message-State: AOJu0Yw18Z/I9CNhaaK4Gh7er+z5B8R/auCLMkNjr0FXHoq12yBE9PPU naqWpKiMyfkxDBJssLG5+9yFXMloL/SmKVzmQligNpiDZdSRiYyrcP0tvmal54kMjXcYmIZEqeF m17hbeBszSunP23nbTcBm4YHLxM2vaVw0pumVUfg393kOyKOA+W9ucd3KC0u+IGBX1igKqtryTe ySi2sBuGRD6VET989f5feuVNFe/SbsEeuTaa0kY/Ko X-Google-Smtp-Source: AGHT+IH9yi40C6E+gxAZQ6vSUKrLLSabdHVNnIBX9tRcT9Ez5CgYkfVKK9GUA1GPzToOrjunzZ48Dw== X-Received: by 2002:a05:6602:89e:b0:7f6:824d:66f4 with SMTP id ca18e2360f4ac-80004173c85mr322028639f.20.1720547442600; Tue, 09 Jul 2024 10:50:42 -0700 (PDT) Received: from smtpclient.apple ([2601:283:4600:6770:b916:53b0:36d1:1992]) by smtp.gmail.com with ESMTPSA id 8926c6da1cb9f-4c0b1b5c6afsm605759173.82.2024.07.09.10.50.41 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 09 Jul 2024 10:50:42 -0700 (PDT) Message-ID: Content-Type: multipart/alternative; boundary="Apple-Mail=_2988BD68-AFC6-4B98-8697-7D4FC0E09DC8" Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.600.62\)) Subject: Re: [PHP-DEV] [Initial Feedback] Typed Arrays Date: Tue, 9 Jul 2024 11:50:31 -0600 In-Reply-To: Cc: Levi Morrison To: php internals 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> X-Mailer: Apple Mail (2.3774.600.62) From: richard@miles.systems (Richard Miles) --Apple-Mail=_2988BD68-AFC6-4B98-8697-7D4FC0E09DC8 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Levi,=20 I did read this email in full before responding in parts. To that I=E2=80=99= ll start by saying I=E2=80=99m sorry for origionally beinging this=20 back into the internals thread and not in a DM. I did not realize it was = a DM on oversight, seriously my bad. I still think=20 we can all learn from this and your opionions here! > On Jul 9, 2024, at 10:53=E2=80=AFAM, Levi Morrison = wrote: >=20 > On Tue, Jul 9, 2024 at 10:18=E2=80=AFAM Richard Miles = > wrote: >>=20 >> Hi Levi, >>=20 >> 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. >>=20 >>=20 >> 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 = with 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. >=20 > Please calm down. I am not gatekeeping, as I don't even have the > know-how to grant you the wiki karma. I=E2=80=99ve asked for karma three separate times in this feed alone and = it=E2=80=99s pretty unclear who has that=20 ability, my apologies for assuming. Since you responded to that message = specifically, I figured you were a karma granter.=20 >> Second, do you have any work towards an implementation? Technically, >> an implementation is not required for RFCs. However, for this = feature, >>=20 >>=20 >> I did start on the implementation and have linked the branch above, = but stopped after >> Rob Landers=E2=80=99 suggestion: >>=20 >> 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 think 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. >>=20 >> =E2=80=94 Rob >>=20 >>=20 >>=20 >> Also, directly from the how-to page on the mailing list = "https://wiki.php.net/rfc/howto" >>=20 >> "Email internals@lists.php.net to measure reaction to your intended = proposal. >> 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 >>=20 >> 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. >=20 > 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. >=20 > 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 see what you're saying, but getting from my original idea to where we = are=20 now was a community effort. Asking the community for more input still = doesn=E2=80=99t=20 seem like a bad idea and has been ideal thus far; and it=E2=80=99s what = Rob suggested. If you can=E2=80=99t grant me karma and Rob can=E2=80=99t grant me = karma, it=E2=80=99s still unclear who=20 I should be asking. Casper Langemeijer at least has a @php.net email and=20= believed we should have typed arrays saying, =E2=80=9Cif anything we = would get better talks=20 about generics=E2=80=9D. Now I=E2=80=99d love to hear everyones thoughts = and have a clear discussion on what it is im trying to solve, and how that might best look. I = personally like letting=20 ideas simmer a bit so I feel like I=E2=80=99ve given everyone plenty of = time to come up with=20 better syntactic approaches. Even in the work I had done it is very = clear that syntax=20 is a critical starting point that influences, if not dictates, expected = behavior.=20 >> I can guarantee any RFC without an implementation is dead-on-arrival. >>=20 >>=20 >> You're not the first person to have a guarantee in this thread=E2=80=A6= :) >=20 > 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: >=20 I=E2=80=99d really like to understand what makes you say this regarding = generics?=20 I didn=E2=80=99t start the conversation with the subject Generics, = it=E2=80=99s always been=20 about Typed Arrays. I appreciate you trying to be helpful and I=E2=80=99m = sorry this=20 came back so poorly. I am willing to take this through to = implementation,=20 but again am just looking for the correct voice to follow.=20 Maybe someone to say, 'I=E2=80=99ll grant you karma if=E2=80=A6=E2=80=99.= They may agree with you. > 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. I still would like to understand how generics relate in your perspective = that differs=20 from the points I=E2=80=99ve made in this thread.=20 > 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. This just differs from other advice already given and the online how-to = page, but seriously=20 I'll just get started if thats what needs to happen. You have this = opinion with past experience granted, but your not really giving practical feedback on why this = implementation is poor.=20 > 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. This is entirely on me! I didn=E2=80=99t realize It was a DM and should = not have been brought=20 back onto the list. I=E2=80=99m sorry! Best, Richard Miles --Apple-Mail=_2988BD68-AFC6-4B98-8697-7D4FC0E09DC8 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8
Levi, 

I did read = this email in full before responding in parts. To that = I=E2=80=99ll start by saying I=E2=80=99m sorry for origionally beinging = this 
back into the internals thread and not in a DM. I = did not realize it was a DM on oversight, seriously my bad. I still = think 
we can all learn from this and your opionions = here!

On Jul 9, 2024, at = 10:53=E2=80=AFAM, Levi Morrison <levi.morrison@datadoghq.com> = wrote:

On Tue, Jul 9, 2024 at = 10:18=E2=80=AFAM Richard Miles <richard@miles.systems> = 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 with = 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.


I=E2=80=99ve = asked for karma three separate times in this feed alone and it=E2=80=99s = pretty unclear who has that 
ability, my apologies for assuming. Since = you responded to that message specifically, I figured you were a karma = granter. 


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 stopped = 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 = think 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 proposal.
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 see what you're saying, but = getting from my original idea to where we are 
now was a = community effort. Asking the community for more input still = doesn=E2=80=99t 
seem like a bad idea and has been ideal thus far; = and it=E2=80=99s what Rob suggested.
If you can=E2=80=99t = grant me karma and Rob can=E2=80=99t grant me karma, it=E2=80=99s still = unclear who 
I should be asking. Casper Langemeijer at = least has a @php.net email and 
believed we should have = typed arrays saying, =E2=80=9Cif anything we would get better = talks 
about generics=E2=80=9D. Now I=E2=80=99d love to = hear everyones thoughts and have a clear discussion
on what it = is im trying to solve, and how that might best look. I personally like = letting 
ideas simmer a bit so I feel like I=E2=80=99ve = given everyone plenty of time to come up with 
better = syntactic approaches. Even in the work I had done it is very clear that = syntax 
is a critical starting point that influences, if = not dictates, expected behavior. 

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:


I=E2=80=99d= really like to understand what makes you say this regarding = generics? 
I didn=E2=80=99t start the conversation with = the subject Generics, it=E2=80=99s always been 
about = Typed Arrays. I appreciate you trying to be helpful and I=E2=80=99m = sorry this 
came back so poorly. I am willing to take = this through to implementation, 
but again am just = looking for the correct voice to follow. 
Maybe someone = to say,  'I=E2=80=99ll grant you karma if=E2=80=A6=E2=80=99. They = may agree with you.

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.

I still = would like to understand how generics relate in your perspective that = differs 
from the points I=E2=80=99ve made in this = thread. 

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.

This = just differs from other advice already given and the online how-to page, = but seriously 
I'll just get started if thats what needs = to happen. You have this opinion with past experience
granted, but your not really giving = practical feedback on why this implementation is = poor. 

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.

This is entirely on me! I didn=E2=80=99= t realize It was a DM and should not have been brought 
back onto the = list. I=E2=80=99m sorry!

Best,
Richard Miles



= --Apple-Mail=_2988BD68-AFC6-4B98-8697-7D4FC0E09DC8--