On Thu, Mar 02, 2000 at 12:16:26AM +0000, mjtg@cus.cam.ac.uk wrote:
> John Tobey <jtobey@john-edwin-tobey.org> wrote
> > I am becoming discouraged in this effort. The alternatives I see are
> > to put an array or bit vector in the assign op indicating which
> > elements are hashes (probably no better than the above) or to split it
> > all out in a new op AASSIGN_HEAVY function (not worth it).
>
> I used to believe that the AVHV stuff was a Good Thing, but the number of
> worms that have crawled out as a result of the attempts to "get it
> right" have made me change my mind.
>
> A viable scheme needs to have the mechanism better hidden, perhaps by
> putting the key-to-index mapping inside some magic. And there probably
> needs to be more critical discussion of what this mechanism is
> actually for.
>
> What we currently have should be deprecated or otherwise suppressed.
Agreed. IIRC, perl6 seals the implementation of arrays/hashes behind
virtual methods. Perl5 could do the same using dispatch tables.
I suspect that this would also have the potential advantage of
collapsing the SvTYPE by one or two bits. I can put together a patch
(including a reimplementation of the AVHV fields stuff) by midnight
Thursday, in consideration of the imminent 5.6 release canidate, if
there is enough interest.
--
"May the best description of competition prevail."
via, but not speaking for Deutsche Bank