but I do not get why a class variable is accessed as a global.

It is not. You have to ask the class for the class variable:

SmalltalkImage classVariableNamed: #CompilerClass.

This returns the class variable ‘CompilerClass’ of class SmalltalkImage.

ahhhh ok


To me it looks plain wrong.
A class variable is like a shared variable between classes. In Clos it was the same as an instance variable but with a class scope.
So could not we make that nicer.
I really find terrible and an attack against modularity to have them managed that way.

Which way?

ah, I think my example was a bad one: I used SmalltalkIamge as it is the class that comes to my mind that uses logs
of class variables. I do not ask the global namespace anything,

e.g. make a case TT with class var T and it is

TT  classVariableNamed: #T

The variable is *not* global. It’s a class variable.

Ok we are safe :)



Marcus




Reply via email to