develooper Front page | perl.perl6.internals | Postings from July 2002

Re: PARROT QUESTIONS: Keyed access

Thread Previous | Thread Next
From:
Ashley Winters
Date:
July 21, 2002 05:06
Subject:
Re: PARROT QUESTIONS: Keyed access
Message ID:
200207211206.58763.qaqortog@nwlink.com
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


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About