On Wed, Apr 17, 2002 at 05:43:01PM -0400, Dan Sugalski wrote:
> At 10:16 PM +0100 4/17/02, Dave Mitchell wrote:
> >On Wed, Apr 17, 2002 at 04:57:21PM -0400, Dan Sugalski wrote:
> >>  At 9:48 PM +0100 4/17/02, Dave Mitchell wrote:
> >>  >On Wed, Apr 17, 2002 at 04:34:12PM -0400, Simon Glover wrote:
> >>  >>   I thought lexicals were going to live in a symbol table now? In which
> >>  >>   case, they're definitely going to depend on implementing hashes first.
> >>  >
> >>  >The first does not necessarily imply the second.
> >>
> >>  True, but in this case it does. Symbol tables are hashes, as are the
> >>  lexical scratchpads. (Hashes you can look up by integer index, mind,
> >>  but hashes nonetheless)
> >
> >I'm not yet convinced that hashes are the best data structure for
> >lexical symtabs, given their heirarchical and dynamic nature.
> >But lets not get into that debate just now :-)
> 
> Oh, hashes are exactly what we want, but they're *special* hashes. :)
> 
> The hash PMC types used by symbol tables have the interesting 
> property of being able to look entries up by offset, not by key, and 
> the offset is determined by insertion order.
> 
> The perl 6 equivalent would be:
> 
>      %foo = ('a', 1, 'b', 2, 'c', 3);
>      print %foo[2]
> 
> printing 3. Access by offset is fast, so we're fine. (We may even 
> peek under the hood, just to be Extra Evil)
> 
> At the moment, we don't have to support cascading lexical 
> scratchpads--since we know at compile time which variables we're 
> accessing and where they come from, we can install trampoline entries 
> in the current scope's scratchpad and not have to search outward at 
> runtime.

Hmmm, I think I still stand by both the statements I made:
1) I'm not yet convinced that hashes are the best data structure for
   lexical symtabs, given their heirarchical and dynamic nature.
2)  But lets not get into that debate just now :-)

:-))

-- 
"Do not dabble in paradox, Edward, it puts you in danger of fortuitous
wit." Lady Croom - Arcadia

Reply via email to