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.

« previous php.internals (#132369) next »