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`.

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

Reply via email to