The name "deque" is used in the standard library of these languages:
- C++: std::deque - Java: java.util.Deque (interface) - Python: collections.deque - Swift: Collections.Deque (not standard lib, apparently, but Apple official? Don't know Swift) - Rust: std::collections::VecDeque And these don't have it in the standard library: - Go - C# - C - JavaScript Anyway, it's pretty decent evidence that: 1. This functionality is pretty widely used across languages. 2. This functionality should have "deque" be in the name, or be the complete name. Discussion naming for "vector" I can understand, as it's less widely used or sometimes means something specific to numbers, but there's little point in discussing the name "deque." It's well established in programming, whether PHP programmers are aware of it or not. As I see it, the discussion should be centered around: 1. The API Deque provides. 2. The package that provides it. 3. Whether Deque's API is consistent with other structures in the same package. 4. Whether this should be included in php-src or left to extensions. I suggest that we try to make PHP as homogenous in each bullet as we can with other languages: 1. Name it "Deque." 2. Put it in the namespace "Collections" (and if included in core, then "ext/collections"). 3. Support common operations on Deque (pushing and popping items to both front and back, subscript operator works, iteration, size, etc) and add little else (don't be novel here). To me, the biggest thing left to discuss is a notion of a maximum size, which in my own experience is common for circular buffers (the implementation chosen for Deque) but not all languages have this. 4. This is less clear, but I'm in favor as long as we can provide a few other data structures at the same time. Obviously, this a voter judgement call on the yes/no. Given that I've suggested the most common options for these across many languages, it shouldn't be very controversial. The worst bit seems like picking the namespace "Collections" as this will break at least one package: https://github.com/danielgsims/php-collections. We should suggest that they vendor it anyway, as "collections" is common e.g. "Ramsey\Collections", "Doctrine\Common\Collections". I don't see a good alternative here to "Collections", as we haven't agreed on very much on past namespace proposals. Anyway, that's what I suggest. -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: https://www.php.net/unsub.php