I wrote:

> Better, you could have a hierarchy of 'uber-scopes', and do namespaces
> properly. I say 'properly' because in C++ you cannot implicitly address
your
> parent namespace.

Oops, I meant that you cannot *ex*plicitly address your parent namespace.
The distinction was important enough for me to make another post, when I
feel that popular opinion is that I should go away. I want to be able to
relatively compose namespaces.

To be, err, explicit, I want the following:

void spam() { }
namespace foo
{
    void spam() { }
    namespace bar
    {
        void spam() { }
        void hierarchical_namespaces()
        {
            spam();
            ::spam();
            ..::spam();            // illegal syntax, but valid semantics
        }
    };
};

BTW, a language I wrote (pi) allows this. Effectively, the 'heap' was
replaced by a UNIX-like filesystem: every object had a scope (a qualified
name), and you could traverse scope by traversing namespaces.

In this sense, the 'current working directory' was the 'this'. Moreover,
'inheretance' was implemented by name resolution based on what 'directory'
was 'current'. A square is a shape because of /lib/geom/shape/square. A
maple tree is an object because of /scripts/objects/tree/maple.

No, it didn't wash because although ppl know directories, they couldn't
translate that knowledge to object declarartion, definition, and
application.

Is this important? Is this useful? Is this implementable? Possibly,
probably, yes.

Christian.