On Thu, Feb 11, 2021 at 12:23 PM Levi Morrison via internals <
internals@lists.php.net> wrote:

> On Thu, Feb 11, 2021 at 9:57 AM Mark Randall <marand...@php.net> wrote:
> >
> > On 11/02/2021 16:39, Levi Morrison wrote:
> > > Let me know what you think. I am hopeful this approach will work
> because:
> > >   1. It is focused on a specific area which already has an established
> > > "namespace", but in name-only (not technically).
> > >   2. It does not try to solve the larger problem, which has a lot of
> > > disagreement.
> > >   3. I will be proposing new types for ext/spl soon (`ReverseIterator`
> > > and an array iterator that is more efficient than `\ArrayIterator`),
> > > and Tyson Andre has already proposed `CachedIterable` and company
> > > which is in `ext/spl`, so this space has active development.
> > >
> > > Thank you for your time.
> > >
> >
> > Do you want a dumping ground? Because this is how you create a dumping
> > ground :-)
> >
> > If we're going to start putting things into namespaces (and we should)
> > then we should absolutely avoid repeating the mistakes of the past by
> > dumping completely unrelated things together.
>
> I agree, which is the point of accepting things in a narrow scope.
> Data structures and iterators go hand-in-hand, as many iterator
> implementations are directly connected to the internal implementation
> details of the related data structure. There are other iterators, and
> as long as they are general purpose they are fine too. These things
> are related, not unrelated.
>
> > If SPL\ is to exist (and personally I think SPL is so cancerous, it
> > shouldn't) then IMO it must absolutely be SPL\iterators.
>
> As mentioned in the previous point, iterators and data structures
> belong together. It does not make sense to separate the implementation
> of FixedArray and its iterator into two different namespaces; they are
> one cohesive unit.
>
> Lastly, if we don't adopt a namespace soon, what will new names be? I
> can guarantee it will be something like `SplReverseIterator`, not
> `SplIteratorReverseIterator`. It won't be
> `SplDatastructureCachedIterable`, it would be something like
> `SplCachedIterable` (or `CachedIterable`, ugh).
>
> As you see, "Spl" _is_ the namespace. Any more or any less is
> incongruent with what we have. This is why I am hopeful that
> _specifically_ using "Spl" for these specific types can reach
> agreement; all we are changing is `Spl$thing` to `Spl\$thing`.
>
>
I think Spl makes sense (there might be a debate over whether it should be
Spl or SPL though). How feasible is it to create generate a deprecation
notice when the global version is used? I assume the hope is to eventually
move away from using those, and I don't think that's a horrible BC break
given that users have enough time to prepare for it.


> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: https://www.php.net/unsub.php
>
>

-- 
Chase Peeler
chasepee...@gmail.com

Reply via email to