Hi, I'd like to add my recent iterable RFC and data structure proposals I'm working on as a PECL. https://github.com/TysonAndre/pecl-teds/ (I plan to publish alpha releases initially)
This combines three things in the `Teds\` namespace: 1. The iterable any()/all()/etc RFC, where the largest objection was that it wasn't a large enough collection of functionality to add to the standard library https://wiki.php.net/rfc/any_all_on_iterable#vote https://github.com/Tysonandre/pecl-teds/#iterable-functions (some iterable functions are considered/planned for the PECL that will need to return data structures to allow arbitrary, repeatable keys, e.g. map_entries(), filter_entries(name to be determined)) 2. A collection of data structures that are being considered for proposals to add data structures to PHP. Some have expressed interest in having a more expansive collections of data structures in the standard library. (E.g. Vector, Deque, etc. that are more efficient than the SPL doubly linked lists) **Others have mentioned that any data structures being proposed for PHP may be better received if they were tested and examined by others before an RFC is created, and creating a PECL ensures this can be done,** e.g. https://externals.io/message/114887#114908 3. Data structures that have less common use cases that may be more suited to a PECL and are not in php-ds already, e.g. the recently renamed ImmutableKeyValueSequence, ImmutableSequence. https://externals.io/message/114887#114903 Addition of php-ds's datastructures (or similar functionality) into core had been considered several times by internals with the php-ds extension, https://externals.io/message/93301 and https://externals.io/message/112639#112641 - but it is possible that less than 2/3 of voters would disagree with the php-ds maintainers distribution plans, and I'm unsure when a proposal would be made by php-ds's maintainers. If there is disagreement, it would be useful to have an independently implemented collection of data structures as an alternative. (The collections in the proposed PECL are independently implemented based on spl's source code (e.g. SplFixedArray), experience with igbinary/runkit7/ast, https://www.phpinternalsbook.com/ , etc) - See https://github.com/php-ds/ext-ds/issues/156#issuecomment-686625945 My PECL account is https://pecl.php.net/user/tandre - I'm a lead on the igbinary, ast, and runkit7 projects. I expect this namespace/extension choice to: 1. Be different enough from `Ds\` to avoid confusion (such as memcache/memcached) 2. Follow the recent namespace policy RFC suggestion of a single CamelCase namespace name for new functionality 3. Avoid namespaces that would conflict with PHP's own potential namespace for future data structures (e.g. `Collections\`, `DataStructures\`, `StdLib\`, `Util\`) 4. Make sense for potential lazy data structures, e.g. a lazily evaluated alternative version of ImmutableKeyValueSequence as an iterable (CachedIterable?) (which seems better described as a data structure than a collection) Any objections? Thanks, Tyson -- PECL development discussion Mailing List (https://pecl.php.net/) To unsubscribe, visit: https://www.php.net/unsub.php