[squeak-dev] The Trunk: Compiler-eem.480.mcz
Marcel.Taeumel at hpi.de
Thu Nov 24 19:15:50 UTC 2022
Hehe. Of course you do. 😉 I just wanted to highlight the fact that nil is no domain object. Exceptional usage should be done by intention. In general, ifNil checks interfere with readability of domain logic. Still, I see no harm in such ifNil checks. Who would agree on a domain-specific symbol for start anyway 😅
From: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> on behalf of Eliot Miranda <eliot.miranda at gmail.com>
Sent: Thursday, November 24, 2022 7:53:35 PM
To: The general-purpose Squeak developers list <squeak-dev at lists.squeakfoundation.org>
Subject: Re: [squeak-dev] The Trunk: Compiler-eem.480.mcz
On Nov 24, 2022, at 1:03 AM, Marcel Taeumel <marcel.taeumel at hpi.de> wrote:
+1 Even for a loop-based algorithm, clarity would improve if the initial case would be flagged with a symbol, not nil:
x := #start.
[ ... ] whileTrue: [
x = #start ifTrue: [x := ... ].
Please don’t take this personally; I find the above pretentious in the extreme, and, given how much thought Smalltalk-80’s designers gave to initializing with nil (again it’s in the blue book), displaying and/or celebrating ignorance. So -1,000.
Am 23.11.2022 21:23:27 schrieb Tobias Pape <das.linux at gmx.de>:
Yet, nil is only seldom a good domain object.
> On 23. Nov 2022, at 19:34, tim Rowledge wrote:
> I won't quote it all again but what Eliot wrote is important. There are good solid reasons why Smalltalk has a rigorously defined UndefinedObject. We demand rigorously defined areas of doubt and uncertainty!
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Squeak-dev