smalltalk76

Dan Ingalls Dan.Ingalls at disney.com
Sat Mar 31 20:28:37 UTC 2001


>>But it would seem to me that a circular
>> superclass relation would require a special termination test just as
>> much as the current nil superclass one does. I would be very much
>> interested in knowing what you can do in microcode that can't be done
>> in assembly or C, specially since I am currently building a microcoded
>> machine!
>
>I would like to know the same.

The actual implementation of ST-76, as revealed in the appendix of 
  http://users.ipa.net/~dwighth/smalltalk/St76/Smalltalk76ProgrammingSystem.html
did not have a circular superclass chain.  It ended with nil, as now.  You can see this in the code for

send: message | class meth callee t i     "send a message" 
       [class := self top class. 
       until:: (meth := class lookup: message) do::     "look up method" 
              [class := class superclass.                   "follow the superclass chain if necessary" 
              class = nil ==> [user notify: 'Unrecognized message: ' + message]]
	....
[I have had to substitute some characters.  The original URL has them right, thanks to Dwight]

	- Dan

PS: If you like teases, there's a chance that some time in May Squeakers will have an opportunity to play with Smalltalk-76 in an even more direct form than the ST-72 simulation from a couple of years ago.

(Helge knows about this, but he's not talking either ;-).






More information about the Squeak-dev mailing list