Tim Bunce <[EMAIL PROTECTED]> wrote:

> See this thread, especially message 16 (and then 13,14,15 :)
> http://groups.google.com/group/perl.perl6.internals/browse_frm/thread/678fbfc5a14813b5

> How close is Parrot to supporting that functionality now?

>From a technical POV namespaces are working in Parrot. See e.g.
t/pmc/namespace.t.

Summary:
* a namespace is a hash
* namespaces can be nested
* a namespace symbol doesn't collide with an entry of the same name
* the canonical form to specify nested namespaces in Parrot uses nested
  hash key syntax, like .namespace ['Foo' ; 'Bar' ; 'Baz']

A second thing is namespace policy:
* it's up to the HLL to translate namespace separators to Parrot's
* it's up to the HLL to even use flat namespaces 'Foo::Bar::Baz'

And finally we have still to define reserved namespaces, HLL top-level
namespaces and we have to deal with current namespace pollution by
Parrot (maybe).

Parrot uses:
* __parrot_core (builtin multi subs, like '__add')
* String, Float, ... (each PMC and class name occupies a top-level namespace)

The latter may collide with HLL usage of namespaces.

> Tim.

leo

Reply via email to