Re: Re: P++: FAQ
| From: | Zeev Suraski | Date: | Sun, 11 Aug 2019 10:36:20 +0000 |
| Subject: | Re: Re: P++: FAQ | ||
| References: | 1 2 3 4 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-106541@lists.php.net to get a copy of this message | ||
On Sat, Aug 10, 2019 at 6:21 PM guilhermeblanco@gmail.com <
guilhermeblanco@gmail.com> wrote:
> 1- How would you envision a shared runtime between PHP and P++, in the
> case that this new evolved solution decides to support objects as keys
> in array structure? This fundamentally changes internals, and a
> drastic change to both runtime of PHP and P++ would be required.
>
Why would that only make it into P++ and not PHP? Things which are
sensible to both dialects should go into both dialects.
2- How would you envision injecting an actual namespace structure,
> allowing scoping support for namespaces? FYI, this is what blocked me
> to finish class visibility in
> https://github.com/php/php-src/pull/947
> It'd require drastic changes in both PHP runtime and P++ too.
>
I don't think we have an answer for that, but I also think it's an
orthogonal question. It applies at the exact same way to the Editions.
The only I see this to operate is either P++ re-implementing the same
> PHP structures in order to evolve, leading to a full fork becoming
> more attractive, or compromises in P++ (like unable to support a given
> feature) because PHP would make it set back.
>
While I think that the deltas would be a lot smaller than something we
should lose sleep over in terms of maintenance overhead - this will
primarily depend on the substance of what we'd want to change - and not on
how we package it. Whether we go for feature-specific declare()s,
Editions, or P++ - makes little to no impact on the complexity of the code
base. In fact, if anything - having an all-or-nothing option is likely to
make the engine code simpler to develop and maintain, as instead of a huge
number (per-feature) or medium number (Editions) of combinations that need
to be designed to work together, supported and tested - we'd have just two.
Do you view this differently?
Thanks for the feedback!
Zeev