Ok, this an old thread, but I found that this idea was already implemented in Pharo:
MCHttpRepositoryI tested it and it works. It only applies to classes that you explicitly define in a package and you need to use a new system browser that is package aware.
Hi Guys,Why don't you do something more focused on the long term and don't you change the Smalltalk compiler with namespaces?I don't think it should be that hard since each class already belongs to a category. Each category could instead be a dictionary from where the compiler could find classes that are mentioned in the class source.This has worked wonders in Java (classes inside packages). This way classes' names can be repeated ad eternum without generating collisions or otherwise polluting excessively the name space.So for example:FAMIXAssociation subclass: #FAMIXInvocationinstanceVariableNames: 'sender receiver receiverSourceCode signature candidates'classVariableNames: ''poolDictionaries: ''category: 'Famix-Core'Would be instead:Association subclass: #InvocationinstanceVariableNames: 'sender receiver receiverSourceCode signature candidates'classVariableNames: ''poolDictionaries: ''category: #FamixCoreThen the category would be an index in the SystemDictionary:SystemDictionary at: #FamixCore put: Category new.(SystemDictionary at: #FamixCore) belongingClassList add: #Invocation "this should be done automatically by the subclass: method above"(SystemDictionary at: #FamixCore) referencedClassList add: ... "classes that are referenced by classes belonging to category #FamixCore"What do you think?Cheers,Guillermo.