Re: [PHP-DEV] [Pre-RFC] Reified generics

[email protected] (Alexander Lisachenko)
Newsgroups php.internals
Message-ID <CAEbg-4ZPdhtUBZXWGOU9ac2+OieVt1bbaHCgSOt463ynEb=T4w@mail.gmail.com>
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 <[email protected]>:

> 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
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.