[squeak-dev] Compiler pedantic about ifNotNil: argument
Levente Uzonyi
leves at elte.hu
Sun Oct 10 17:21:54 UTC 2010
On Sun, 10 Oct 2010, Igor Stasenko wrote:
> On 10 October 2010 17:34, Randal L. Schwartz <merlyn at stonehenge.com> wrote:
>>>>>>> "Igor" == Igor Stasenko <siguctua at gmail.com> writes:
>>
>> Igor> i am also missing:
>>
>> Igor> someThing ifTrue: 1 ifFalse: 0
>>
>> Down that path lies ambiguity though.
>>
>> If you had
>>
>> actionSymbol := aBoolean ifTrue: #doThis else: #doThat.
>>
>> do you want the symbol assigned, or performed?
>>
>> Please don't add so much dwimmery here. I like it that Smalltalk is
>> fairly strict with these basic forms.
>
> what dwimmery you talking about?
>
> b := [ 15 ].
> a := [ 16 ].
>
> true ifTrue: a ifFalse: b
> 16
>
> as well as:
>
> b := 15 .
> a := 16 .
>
> true ifTrue: a ifFalse: b
> 16
>
> works well.
>
>
> In this way,
>
> answer := process ifNotNil: #terminate.
>
> should be equivalent to:
>
> answer := process notNil ifTrue: #terminate
>
> but not to:
>
> answer := process notNil ifTrue: [ process terminate ].
How would you implement #ifNotNil: to reflect this? Would you dispatch on
the type of the argument?
Levente
>
>
>>
>> --
>> Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
>> <merlyn at stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
>> Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc.
>> See http://methodsandmessages.posterous.com/ for Smalltalk discussion
>>
>
>
>
> --
> Best regards,
> Igor Stasenko AKA sig.
>
>
More information about the Squeak-dev
mailing list
|