With st/x I used to struggle with dependencies between packages which included references to globals/classes. To avoid any such early bound references I used to define a class called CLASS which you could use as
CLASS Array CLASS String
as a short hand for Smalltalk at: #Array etc. This worked very well for me.
so thinking out load if my CLASS behaviour could be added to Class so that
Class WASession -> WASession
and we define WA similarly, then
WA Session -> WASession
If we make WA the current 'in' namespace, then Class could take that into account, so that
Class Session -> WASession
for tool support, each prefixed class would need to know its prefix.namespace so that tools could show the class name in browsers without the prefix.
WASession-namespace
^WA
its late....
Keith
+10000 for: self add: (Kernel Array new: 4). This mechanism preseves the elegant foundation of Smalltalk:
'Everyting is an Object, which receives a messages and returns an object'.
In this (Dan's ?) solution, the implementation is late bound and
can use the same lookup algorithm as used for messages .
The other solutions lack this elegance.