Okay, after seeing all the back and forth, here's what we're going to do.

Namespaces are going to be *simple*. They do two things, and only two things.

1) They provide a hierarchy for other namespaces
2) They bind names to PMCs

That's it. No typing, no classification, no nothing. If languages want to do that, then they'd better darned well do it themselves. Yes, this is going to make interoperability a pain at the variable level, but it's pretty clear that we're just not going to be able to do that.

The next step, then, is to sketch out ops to query, read, and write name/PMC bindings and query/read/write/overlay hierarchies. (Which, I realize, many languages just won't use, and that's fine) I think it's best to go with a unified hierarchy/variable namespace, so we'll postpend a NUL to the end of non-variables. Printing NULs is a pain, so we should make sure that we've got good general-purpose binary printing routines people can use.

Yes, I know, we could do better. If anyone wants to do so, go lock Larry, Matz, and Guido in a room together. When they hash out the language semantics we'll let 'em out and then do better. :)
--
Dan


--------------------------------------it's like this-------------------
Dan Sugalski                          even samurai
[EMAIL PROTECTED]                         have teddy bears and even
                                      teddy bears get drunk

Reply via email to