I think the goals for namespaces in Squeak should be two: 1. Given 2 independently developed systems, each introducing its own meaning for a new class name, a developer should be able to make them able to live together in the same image without changing the actual code for either. I think this is the real goal of scalable independent deployment. 2. If the two systems both introduce similar concepts with the same name, system should facilitate their merging by the respective maintainers. This goal is meant to facilitate sharing code that is living (and I this is what Markus is talking about).
I think many namespace systems achieve goal 1 by having each developer invent his own namespace (possibly more than one). I think this is a bad decision in our context, because it makes it harder to achieve 2. So far we've compromised by emulating this mode using the prefix convention, but only selectively.
I think the effect of first class prefixes will be to make it more convenient to delay the design and implementation of a real solution to these goals. This may be a good or a bad thing, depending on how close we feel to having a solution.
Daniel Vainsencher
Markus Gaelli wrote:
Maybe namespaces of VW helped to get seaside ported to VW at all, but I'd prefer to have an ongoing desire to unify classes, which _are_ intended to work the same.
Cheers,
Markus