Re: [Pre-RFC] Reified generics
| From: | Alexander Lisachenko | Date: | Mon, 10 Aug 2026 10:16:01 +0000 |
| Subject: | Re: [Pre-RFC] Reified generics | ||
| References: | 1 2 3 4 5 6 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-132195@lists.php.net to get a copy of this message | ||
Hello, internals!
Want to share some proof-of-concept and ideas regarding the Php Generics.
I've recreated the memoization generics as a user-land library
https://github.com/lisachenko/userland-php-generics,
installable as a
simple composer package to check the concept itself and see where we have
limits now.
What I discovered - that a significant part of the core is suitable to
define generics *and keep the opcode arrays shared *between all
concrete memoized versions with different types:
I tried to deep-clone a template's zend_class_entry under a new name and
rewrited only the zend_type of its properties, parameters and return
types while sharing the compiled method bodies through the engine's own
op_array refcount. Thus, cost of a specialization is about
sizeof(zend_op_array) per method, independent of how large those methods
are, rather than a full copy of the opcodes.
Best regards,
Alexander
чт, 6 авг. 2026 г. в 18:46, Larry Garfield <larry@garfieldtech.com>:
> On Thu, Aug 6, 2026, at 4:53 AM, Barel wrote:
>
> > Thanks, it seems that to join a channel I also need to know the server
> > where It lives (I've never used Discord much before). Can you share
> > this info as well?
> >
> > Cheers
> >
> > Carlos
>
> https://phpc.chat/
>
> The PHP Community chat is unofficial, but lately it's where the big names
> are hanging out, including a lot of Internals regulars. Beware, the
> Internals channel is annoyingly noisy and has a hard time staying on topic.
> :-)
>
> --Larry Garfield
>