In message <[EMAIL PROTECTED]>
        Chaim Frenkel <[EMAIL PROTECTED]> wrote:

> I'd rather not have the expansion performed. Some other mechanism, either
> under the covers or perhaps even specified in the language.

Absolutely. Both mechanisms have been suggested - my under the
covers proposal in RFC 136 and the language proposal in the form
of the lazy keyword in some other RFC whose number I forget.

> The only real issue is if the change effects the iterator order. Changes
> to values should be allowed without out any adverse effects.

Well if we allow value changes in the middle of iterating either
keys or values then that is a user visible behaviour change which
potentially needs to be hideable in p52p6 translation.

> Changes to the iterator order (inserted/deleted keys, push/pop) can
> be either, "don't do that", or queued up until the iterator is done or
> past the effected point.

Queueing up internally is likely to be complicated and expensive
for relatively little gain.

Allowing changes can I believe be made safe from the point of view
that it won't segv. It just may cause things like seeing a key twice
or not seeing some at all.

There's the still the question of preserving old semantics when
translating old scripts though.

Tom

-- 
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu

Reply via email to