Re: [DISCUSS] Should RFCs for new functions include a userland polyfill/reference implementation?
| From: | سپهر محمودی | Date: | Thu, 27 Aug 2026 16:59:49 +0000 |
| Subject: | Re: [DISCUSS] Should RFCs for new functions include a userland polyfill/reference implementation? | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-132369@lists.php.net to get a copy of this message | ||
در تاریخ پنجشنبه ۲۷ اوت ۲۰۲۶، ۲۰:۰۲ Nicolas Grekas <
nicolas.grekas+php@gmail.com> نوشت:
> Hi Sepehr
>
> Le mar. 25 août 2026 à 13:21, سپهر محمودی <sepehrphpr@gmail.com>
> a
> écrit :
>
>> Hi internals,
>>
>> While reviewing various RFCs that introduce new functions, I noticed an
>> inconsistency: some authors include a userland polyfill (reference
>> implementation) in their RFCs, while others do not.
>>
>> I wanted to open a discussion on whether we should strongly encourage RFC
>> authors to provide a PHP userland implementation when proposing new
>> standard library functions, **where technically feasible**.
>>
>> Of course, I understand that this isn't possible for every new
>> function—especially those that interact with low-level OS APIs, memory
>> management, or internal engine features. However, for functions dealing
>> with arrays, strings, math, or general logic, I believe this has a couple
>> of major benefits:
>>
>> 1. It clarifies the exact intended behavior, including edge cases and
>> type coercions, making the proposal easier to understand without diving
>> into the C implementation.
>> 2. It immensely helps the community (e.g., the Symfony polyfill team) to
>> quickly and accurately port the function to older PHP versions once the RFC
>> is accepted.
>>
>> Should we consider adding this as a standard recommendation (e.g.,
>> "Reference Implementation") in the official RFC template for applicable
>> functions?
>>
>> I would love to hear your thoughts on this.
>>
>> Best regards,
>> Sepehr
>>
>>
>
> In case you didn't know, every polyfill-able feature ends up eventually in
> one of the symfony/polyfill-* packages, all centralized in the
> https://github.com/symfony/polyfill monorepo.
>
> In my experience, this works quite well and I wouldn't require RFCs to
> ship a polyfill: authors should be focused on the C implementation. The PHP
> polyfill is not always trivial to achieve, and polyfills proposed in RFCs
> don't necessarily end up being the ones shipped via symfony/polyfill, eg
> because edge cases or perf improvements.
> Polyfill needs a separate workflow.
>
> Cheers,
> Nicolas
>
-----
Thanks Nicolas, that makes total sense. I will focus entirely on the C
implementation.