On Sunday 21 July 2002 05:56 am, John Porter wrote: > Right? Or am I overlooking something? Am I the only one who gets worried when I agree with JDP? People roll their eyes at John's posts for consisting of idyllic design ideas without regard for implementation, and people roll their eyes at my idyllic implementation ideas with no regard for design. For us to agree on something... it's just wrong. Let me articulate what I *think* KEY* is trying to accomplish. Having a KEY* linked list has two results that I can see. First, it changes the access of nested Array/Hash types from consecutive opcodes to recursive vtable calls. (My implementation tunnel-vision is showing up clearly.) Perhaps it will also do an optimization for accessing multiple dimensions of a single type without recursing (like a 5-element-deep hash), but I'd guess Perl/Ruby data structures rarely have the same aggregate type nested more than 2 deep. Most of the code I can recall alternates data structures with hash->array->hash. Nearly all of my code alternates. Secondly, KEY* allows for a PMC datatype to use coordinates (that concept is clear, right? Think x,y coordinates for a bitmapped GUI window) to index elements in a vector rather than implementing 'arrays of arrays'. In my uninformed opinion, I would naively hope opcode dispatch is fast enough for #1 not to be a measurable speed gain. If I'm mistaken, I won't be shocked. For #2, I'd enjoy seeing a justification for defining the One True Way of specifying a 'coordinate' style index rather than John Porter's approach. If there is another reason for having KEY*, it will be even more interesting to read Dan's spec than I expected. Personally, I wouldn't feel bad about not being able to answer all the p6i questions right away. I think p5p only gets... maybe 3 questions a week which can't be RTFMed? They have a much larger community than Parrot. Answering 10 to 20 legitimate questions a week on a project with a community like this ain't bad by comparison. :) In the end, I remember that my signature is referring to me. It keeps me sane. Ashley Winters PS: I have an objective way to determine what goes in a PDD and what goes in a dev file! When you shoot down one of JDP's ideas, the explanation belongs in a PDD. When you shoot down one of my ideas, the explanation belongs in a .dev. -- When you do the community's rewrite, try to remember most of us are idiots.Thread Previous | Thread Next