Ticket #903 (new RFC)
[RFC] Deprecate Keys at all.
Reported by: | bacek | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | 2.6 |
Component: | core | Version: | trunk |
Severity: | medium | Keywords: | |
Cc: | Language: | ||
Patch status: | Platform: |
Description
Hello.
(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
-- Bacek
Change History
Note: See
TracTickets for help on using
tickets.