id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc	lang	patch	platform
903	[RFC] Deprecate Keys at all.	bacek		"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"	RFC	new	normal	2.6	core	trunk	medium						
