On Mon, Jul 10, 2006 at 02:53:15PM -0700, Chip Salzenberg wrote:
> On Mon, Jul 10, 2006 at 03:23:56PM -0500, Patrick R. Michaud wrote:
> > On Sat, Jul 08, 2006 at 01:57:58PM -0700, Chip Salzenberg wrote:
> > > Relative is the usual apposite to absolute, but we have a three-way
> > > logic here, so appositives don't really work.  I think that "hll" is the
> > > best I can think of, and given the existing ".HLL" directive, its meaning
> > > is immediately clear:
> > >      .HLL 'perl5', perl5_group
> > >      .namespace ['Foo']
> > >      $P0 = get_global ['Bar'], 'x'           # ['perl5';'Foo';'Bar';'x']
> > >      $P0 = get_hll_global ['Corge'], 'x'   # ['perl5';'Corge';'x']
> > >      $P0 = get_abs_global ['parrot'], 'x'  # ['parrot';'x']
> > 
> > What's the status on the above...has it been blessed/implemented yet?
> > This looks to me like exactly what is needed/desired for the various 
> > HLL's I'm working with.
> 
> Allison has blessed it except for the detail of the "_hll_" in the HLL
> selection.  I haven't started implementing it yet, though nothing stands
> in my way technically.
> 
> I've suggested that get_namespace follow exactly the same pattern, but
> so far she hasn't commented on that suggestion at all.

I really like both of these suggestions.  We also noted on #parrot that
get_hll_global would really simplify things for the Tcl folks, which
currently go through a macro to achieve the same effect.

> BTW I expect find_global to keep working for a good while.  The only thing
> that may change incompatibly in _any_ of this is the meaning of:
> 
>     PMC = get_namespace KEY,STR
> 
> which currently starts from the HLL root but which I'm proposing should
> start at the current namespace.  *If* that additional proposal goes forward,
> any place you currently have the above, you would just change it to:
> 
>     PMC = get_hll_namespace KEY,STR

I'm not currently using get_namespace in any form, so I have no problem
with this switch.  

FWIW, a quick grep of the parrot tree seems to indicate that the only
places using get_namespace outside of the Parrot sources and tests
are in languages/dotnet (12 occurrences) and languages/tcl (2 occurrences).

Pm

Reply via email to