Newsgroups: comp.lang.smalltalk
Path: cantaloupe.srv.cs.cmu.edu!fs7.ece.cmu.edu!kinky.eng.gtefsd.com!europa.eng.gtefsd.com!howland.reston.ans.net!Germany.EU.net!EU.net!chsun!usenet
From: Reto Kramer <kramer@al.esec.ch>
Subject: Metaclass=nil, what methods are required ?
Message-ID: <D37sq7.2tJ@eunet.ch>
Sender: usenet@eunet.ch
Organization: EUnet AG, Switzerland
Date: Mon, 30 Jan 1995 10:49:17 GMT
Lines: 37

Ever since 1986, the doesNotUnderstand: approach
to get hands on the method invocation is well known.

I try to find out what methods are absolutely neccessary
for PP VW2.0 to operate on a class that has metaclass=nil.
I want to make shure that the garbage collector, the
browser and the inspector still work. This includes things
like weak references !
Comparing some of the classes that do have metaclass=nil,
shows that there seems to be no consensus on what is
neccessary. E.g. LensAbsentee (PP VW2.0, base) defines
other methods than ObjectProxy (RemoteObjects, G. Heeg).
The InvisibilityWrapper (HotDraw) defines yet another
set of methods.

What are the core methods absolutely required for a class
that has metaclass=nil.

Looking forward to hearing from you !

Reto

PS: In "Inside Smalltalk Vol. I", p. 212, the problem that
    the PP system (e.g. Browser) requires some methods,
    if you want define a class with superclass=nil is described
    as exactly the dilemma it is: the methods should already
    be there, at the time, the class that might contain them in
    the future is only about to be defined.
    The authors propose to overcome the problem by inheriting from
    Object, defining the subclass and then manually store nil
    into the metaclass slot.

    I accept the burden to include some methods, which make shure
    that I can define the class in the browser, even if they
    are not required for my application. I'd prefer this over
    the approach in "Inside Smalltalk".

