On Thu, Oct 19, 2006 at 10:01:29PM -0400, Matt Diephouse wrote:
> Patrick R. Michaud <[EMAIL PROTECTED]> wrote:
> > According to pdd21, each HLL gets its own hll_namespace.
> >PGE is really a form of HLL compiler, so it should have
> >its own hll_namespace, instead of using parrot's hll namespace:
> >
> >    .HLL 'pge', ''
> 
> I don't know that that's necessarily the case, but it's definitely an
> option. You can just as easily argue that it's a library.

Agreed, but I think my questions equally apply to something
like .HLL 'perl6'.  

In PGE's case, if we simply want to treat it as a library for now,
in the [ 'parrot'; 'PGE'; ... ] namespace, I think we could do that
for a while.  But with perl6 and other languages joining parrot
soon, I'm not sure it's something we should postpone for too much
longer.

> >So, this brings me to my question:  What is the official
> >"best practice" pattern for HLLs to create their own classes
> >such that we avoid naming conflicts with existing classes
> > in Parrot and other HLLs?
> 
> This is unspecced. ATM, all classes go into the 'parrot' HLL. This is
> a relic of the past and I think it needs to change. I'm pretty sure
> that HLL classes will have to go into the HLL's root namespace (this
> needs to happen anyway to prevent namespace pollution). That leaves us
> with the question of how to differentiate core PMCs from HLL PMCs. I'm
> not sure how to handle that, but that's what a spec is for.

Why is the differentiation necessary -- wouldn't "core PMCs" simply
be part of the 'parrot' HLL?

> We discussed some of this briefly at the OSCON hackathon, when we
> talked about changing the class internals so that a Class isa
> Namespace. That discussion hasn't led to any changes yet as Chip has
> been kidnapped by his Real Life (tm).

I'm afraid I wasn't able to keep up with all of the details and
implications of that discussion at the hackathon.  I'll be glad
to chime in where I can, but I still don't understand some of
the details.

Thanks,

Pm

Reply via email to