Ticket #903 (new RFC)
[RFC] Deprecate Keys at all.
|Reported by:||bacek||Owned by:|
(Background: I've spent few months trying to make Keys and Iterators more sane)
There is excerpt from IRC log:
<bacek> chromatic: I've got excellent (fsvo) idea. Deprecate Keys at all. <chromatic> What would replace them? <bacek> Create NamespaceKey which will be used for Namespaces. <bacek> Navigating over "ordinary" aggregates will be "manual" <chromatic> The idea has merit. <bacek> indeed. No one uses $P0[foo;bar;baz] It's almost impossible to implement and used correctly. And behaviour is very dependant on HLL <chromatic> It's not easy to manage in IMCC either. <bacek> e.g. autovivify vs throwing exception. So, NamespaceKey will has-a RSA Simple, clean, comprehensible. Remove a lot of code in Hash and Array to support Keys. Simplify IMCC and future of PIRC (which doesn't support complex keys) <chromatic> It's worth considering.
Actually NamespaceKey can be is-a RSA. Then creating it in pir will be something like
$P0 = split ';', 'foo;bar;baz' $P1 = new [NamespaceKey] $P1 = $P0