<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<META content="MSHTML 5.00.2614.3500" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY>
<DIV>&nbsp;</DIV>
<DIV>Albert Wagner &lt;<A 
href="mailto:alwagner@tcac.net">alwagner@tcac.net</A>&gt; asked:<BR>&gt; 
<BR>&gt; &gt;does Smalltalk have any reserved words</DIV>
<DIV>&nbsp;</DIV>
<DIV>
<DIV>Michael Vanier &lt;<A 
href="mailto:mvanier@cs.caltech.edu">mvanier@cs.caltech.edu</A>&gt; 
wrote:</DIV></DIV>
<DIV>&gt; <BR>&gt; self, super, nil, true, and false come to mind.&nbsp; I'm not 
sure if they are<BR>&gt; technically reserved.&nbsp; They are called 
"pseudovariables" in ST jargon.</DIV>
<DIV>They are write-protected. Also, you cannot define them as temporary</DIV>
<DIV>variables (e.g.&nbsp; | self |). (Squeak tells you that these names are 
already defined)</DIV>
<DIV><BR>&gt; "true" and "false" are also pseudovariables, but they are 
singleton<BR>&gt; instances of class True and False respectively.&nbsp; 
Similarly, nil is the<BR>&gt; singleton instance of class UndefinedObject.&nbsp; 
So that just leaves self and<BR>&gt; super ;-)</DIV>
<DIV>There is one additional pseudovariable:&nbsp; thisContext.</DIV>
<DIV>It is hardly ever used for application development, but it</DIV>
<DIV>comes into play when things like exception handling or</DIV>
<DIV>debugging are programmed. This is definitely something</DIV>
<DIV>for our bright stars.</DIV>
<DIV>&nbsp;</DIV>
<DIV>You should also note that there are a few method names that</DIV>
<DIV>are given special treatment. These are</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp; <FONT face=Courier>ifTrue: ifFalse: ifTrue:ifFalse: 
ifFalse:ifTrue:<BR>&nbsp;and: or:<BR>&nbsp;whileFalse: whileTrue: whileFalse 
whileTrue<BR>&nbsp;to:do: to:by:do:<BR>&nbsp;caseOf: 
caseOf:otherwise:<BR>&nbsp;ifNil: ifNotNil:&nbsp; ifNil:ifNotNil: 
ifNotNil:ifNil:</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV>(All these are mentioned in MethodNode class &gt;&gt; initialize)</DIV>
<DIV>&nbsp;</DIV>
<DIV>These messages are usually not sent, but inlined by the compiler. To</DIV>
<DIV>avoid strange errors, you should consider these message names as 
reserved.</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>Greetings, Boris</DIV></BODY></HTML>