On the one hand, there's a hell of a lot of 'em, of potentially limited utility.
On the other, without them it means creating temporary PMCs if we do something like:
foo[1;2] = bar[1;2] + baz[1;2]
and foo, bar, and baz are all packed-integer arrays. (With the keyed versions we can skip creating a temp PMC for bar[1;2], baz[1;2], and the resulting temp that gets assigned into foo[1;2])
On the other hand... mmd. MMD is a pain here, since it means we have multiple tables and... ick. Nasty there.
So, here's a compromise solution.
We toss the keyed variants for everything but get and set. And... we move *all* the operator functions out of the vtable and into the MMD system. All of it. Math, logical ops, bit ops... the works. All that's left are the gets, sets, and meta-information entries. (Type, class, elements, and suchlike stuff) We rework the current pmc processor to take the entries that are getting tossed and automatically add them to the MMD tables on PMC load instead.
Comments? -- Dan
--------------------------------------"it's like this"------------------- Dan Sugalski even samurai [EMAIL PROTECTED] have teddy bears and even teddy bears get drunk