[squeak-dev] isKindOf: in Morphic code...

Tobias Pape Das.Linux at gmx.de
Mon Jul 4 20:59:39 UTC 2016


On 04.07.2016, at 22:44, Eliot Miranda <eliot.miranda at gmail.com> wrote:

> Hi All, Hi Marcel,
> 
>     when I see code like this, and there's a lot of it in Morphic,
> 
> !Flaps class methodsFor: 'testing' stamp: 'mt 5/17/2016 14:17'!
> anyFlapsVisibleIn: aWorld
> 
>         aWorld submorphsDo: [:m |
>                 (m isKindOf: FlapTab) ifTrue: [^ true]].
>         
>         ^ false! !
> 
> I think this is performance thrown on the floor (isKindOf: is awfully slow, especially in huge hierarchies like Morphic, and bad design, restricting one to a concrete class).  And I think that Morph provides a perfect place to put an extension that doesn't pollute Object.  So I would like to see 
> 
> anyFlapsVisibleIn: aWorld
> 
>         aWorld submorphsDo:
>                [:m| m isFlapTab ifTrue: [^true]].
>         ^ false! !
> 
> with the emphasis on isFlapTab ;-)

Well, class testing seems to be a Morphic pattern, given #findA: (alias #submorphOfClass:)


Best regards
	-Tobias
PS: Not advocating anything just reporting what I found


More information about the Squeak-dev mailing list