nil or #nil?

Dicky T iamtv at
Tue Aug 25 23:45:58 UTC 1998

you people are pathetically geeky.  Get your heads out of your pocket 
protectors and get a life.

>From squeak-request at Tue Aug 25 16:25:26 1998
>Received: (qmail 184 invoked by uid 95); 25 Aug 1998 23:24:51 -0000
>Resent-Date: 25 Aug 1998 23:24:51 -0000
>Resent-Cc: recipient list not shown: ;
>Message-ID: <35E34677.E72D5B64 at>
>Date: Tue, 25 Aug 1998 18:19:19 -0500
>From: Dwight Hughes <dwighth at>
>X-Mailer: Mozilla 4.05 [en] (WinNT; I)
>MIME-Version: 1.0
>To: squeak at
>Subject: Re: nil or #nil?
>References: <199808250148.UAA18128 at> 
<v0401171cb20882803e11@[]> <35E30B7D.36F85DD6 at> 
<35E30FB9.3023 at>
>Content-Type: text/plain; charset=us-ascii
>Content-Transfer-Encoding: 7bit
>Resent-Message-ID: <"q589FB.A.8-H.4e041"@jerry>
>Resent-From: squeak at
>Reply-To: squeak at
>X-Mailing-List: <squeak at> archive/latest/3069
>X-Loop: squeak at
>Precedence: list
>Resent-Sender: squeak-request at
>Dana Anthony wrote:
>> Dwight Hughes wrote:
>    ---snip---
>> >
>> > In this light, nil, true, and false are literals - but so are #nil,
>> > #true, and #false -- the problem right now is that nil ~~ #nil, 
true ~~
>> > #true, and false ~~ #false, which is a bit counterintuitive. Would 
>> > outrage anyone to consider nil, true and false to be syntactic 
sugar for
>> > #nil, #true, and #false?
>> >
>> > -- Dwight
>> You bet people would be outraged.
>> Mainly because of a simple fact:  #nil, #true, and #false are 
>> of Symbol.
>> nil is an instance of UndefinedObject; true is of True and false of
>> False.
>Well, I consider nil, true, and false to all be symbols -- in the
>generic sense -- and consider the schizm between them and instances of
>Symbol to be an design artifact forced upon Dan and crew to compensate
>for the single inheritance class structure and the limiting of method
>dispatch to the class of the receiver (instead of the receiver itself).
>So Dan waved his keyboard and said: "Let there be true and false and
>nil, and let each take unto itself a class and a place in the 
>by which each shall be known to all." I understand your objections
>within the present Squeak/Smalltalk design, but I also find that having
>#nil, #true, and #false be meaningless symbols with no correspondence 
>nil, true, and false to be rather ugly.
>> How can a symbol be == to an undefinedObject or a boolean?  It 
>That depends on how badly I want to win this debate ;-).
>> That's just not object oriented :) :)
>Ever hear of multiple inheritance? A dandy concept for situations like
>this (and for diverting attention from the topic at hand). (For those
>interested in such things, "closure based" multiple inheritance (as
>implemented in Idol - an object-oriented variant of Icon) is worth
>checking out:
>-- Dwight

Get Your Private, Free Email at

More information about the Squeak-dev mailing list