you people are pathetically geeky. Get your heads out of your pocket protectors and get a life.
From squeak-request@cs.uiuc.edu 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@ipa.net Date: Tue, 25 Aug 1998 18:19:19 -0500 From: Dwight Hughes dwighth@ipa.net X-Mailer: Mozilla 4.05 [en] (WinNT; I) MIME-Version: 1.0 To: squeak@cs.uiuc.edu Subject: Re: nil or #nil? References: 199808250148.UAA18128@smtp.jump.net
<v0401171cb20882803e11@[9.2.186.178]> 35E30B7D.36F85DD6@ipa.net 35E30FB9.3023@unx.sas.com
Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Resent-Message-ID: <"q589FB.A.8-H.4e041"@jerry> Resent-From: squeak@cs.uiuc.edu Reply-To: squeak@cs.uiuc.edu X-Mailing-List: squeak@cs.uiuc.edu archive/latest/3069 X-Loop: squeak@cs.uiuc.edu Precedence: list Resent-Sender: squeak-request@cs.uiuc.edu
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
it
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
instances
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
hierarchy,
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
to
nil, true, and false to be rather ugly.
How can a symbol be == to an undefinedObject or a boolean? It
cannot.
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: http://www.cs.utsa.edu/research/idol/closure.ps.)
-- Dwight
______________________________________________________ Get Your Private, Free Email at http://www.hotmail.com
squeak-dev@lists.squeakfoundation.org