[comp.lang.smalltalk] Smalltalk/V Windows beginner's question about class vars

luksa@cubbie.ils.nwu.edu (Frank Luksa) (06/07/91)

I've just started using Smalltalk/V Windows on a PS/2 Model 80 and I have the following problem.

If I browse a class in the browser that has class variables, I can't get a list of the class variables to appear in the variable window.

The instance vars appear, but when I change the radio button to "class", nothing shows up. 
The class methods show up, but not the vars.

What's wrong?

Frank


-- 

Frank Luksa
Institute for the Learning Sciences
Northwestern University
luksa@ils.nwu.edu (129.105.49.1)

mjb@netcom.COM (Martin Brown) (06/08/91)

In article <2016@anaxagoras.ils.nwu.edu> luksa@cubbie.ils.nwu.edu (Frank Luksa) writes:
>
>If I browse a class in the browser that has class variables, I can't get a list of the class variables to appear in the variable window.
>
>The instance vars appear, but when I change the radio button to "class", nothing shows up. 
>The class methods show up, but not the vars.
>
>What's wrong?
>
>Frank
>
What's wrong is, Digitalk didn't implement this even though the manual
says/implies that this will happen.

We had a small discussion about this in the Digitalk forum on CIS, and the
result was that it was not implemented.  Weird huh?  Was it implemented in the
DOS/Gem version, V286?  I forget.

                                   - mjb -

                                mjb@netcom.com

briot@pollux.usc.edu (Jean-Pierre Briot) (06/11/91)

In article <1991Jun8.042301.15653@netcom.COM>, mjb@netcom.COM (Martin Brown) writes:
|> In article <2016@anaxagoras.ils.nwu.edu> luksa@cubbie.ils.nwu.edu (Frank Luksa) writes:
|> >
|> >If I browse a class in the browser that has class variables, I can't get a list of the class variables to appear in the variable window.
|> >
|> >The instance vars appear, but when I change the radio button to "class", nothing shows up. 
|> >The class methods show up, but not the vars.
|> >
|> >What's wrong?
|> >
|> >Frank
|> >
|> What's wrong is, Digitalk didn't implement this even though the manual
|> says/implies that this will happen.
|> 
|> We had a small discussion about this in the Digitalk forum on CIS, and the
|> result was that it was not implemented.  Weird huh?  Was it implemented in the
|> DOS/Gem version, V286?  I forget.
|> 
|>                                    - mjb -
|> 
|>                                 mjb@netcom.com

Your question is not a "beginner's question".
There is a fundamental issue behind the fact of implementing (or not)
the display of class variables in the browser.
Class variables in Smalltalk (80 and V) are NOT analog to class methods
in that they are not (instance) variables defined at the class level
(class methods are in fact instance methods defined at the class level,
i.e., belonging to the metaclass).
Class variables are implemented with a dictionary belonging to the class
and not as instance variables (inspect the class to get access to it).
In fact the terminology is misleading because class variables and class methods are inconsistent.
Consequently making class variables to be displayed in place of instance
variables by selecting the instance/class switch would have some severe
pedagogical drawbacks, besides the natural ergonomy.

Jean-Pierre Briot
LITP, Institut Blaise Pascal,
Universite Pierre et Marie Curie
Paris, France
briot@litp.ibp.fr