On Fri, Oct 31, 2025, at 4:22 AM, Tim Düsterhus wrote:
> Hi
>
> Am 2025-10-30 19:44, schrieb Larry Garfield:
>> The one outstanding question is whether we allow reordering using named 
>> arguments or preserve the underlying order.  Arnaud says either one is 
>> doable.  So far, only 2 people have commented on it (favoring 
>> reordering).  We still want feedback from more people to see if there 
>> really is a consensus one way or another.  (2 people is too small a 
>> sample size to draw any conclusions.)
>
> It appears there is a larger (and unanimous) agreement. This should be 
> adjusted in the RFC then. Other than that, I've read through the RFC 
> once more and have the following comments:

Mm, yeah, it would appear I have been outvoted. :-)  So be it.  The RFC has 
been updated to include reordering, and Arnaud will update the implementation 
shortly.

I expect this to be the last major change, so we'll likely call the vote in a 
little over 2 weeks, baring any additional feedback.

> 1. In the //// Regular functions //// examples:
>
> I believe the `static` is missing from every example. Given that the 
> examples in the Overview at the start already have it, this might be a 
> mistake?

Artifact of how many times this RFC has been edited. :-)  I think I got them 
all now.

> 2. // Placeholders may be named, too.  Their order doesn't matter.
>
> This example will likely change given the reordering decision, but I'd 
> like to note a typo: The 's' and 'i' parameters in the PFAs are missing 
> their number.

I ended up removing this example and replacing it with another anyway.

> 3. (four(c: ?, d: 4, b: ?, a: 1))(2, 3);
>
> This is also a reordering example. Just listing it to make it easier for 
> you to find.

thumbs-up.gif

> 4. Constant expressions
>
> I assume that “nested” PFA will just work? A little more complex example 
> would be good, just to showcase what's possible. How about:
>
>      public const BASE = 10;
>
>      private \Closure $arrayToInt = \array_map(\intval(?, self::BASE), 
> ?),
>
> My understanding is that this should be valid.

Mine as well.  I'll add that example, and if Arnaud corrects me we can deal 
with it then. :-)

> 5. Implementation notes and optimizations
>
> // Transpiles into:
>
> The `static` should definitely be added here, since you are specifically 
> talking about internal details.
>
> 6. Scoping
>
> Seeing the scoping section: Is it possible to partial a `parent::` call? 
> I never tried with FCC.

I... have no idea.  Presumably?  I'll add it and wait for Arnuad to yell at me 
if not. :-)

> All minor clarification bits. I'm super happy with the proposed 
> semantics once the “reordering” question is resolved.

Huzzah!

--Larry Garfield

Reply via email to