[Fwd: Re: [squeak-dev] Re: The Trunk: Morphic-ar.305.mcz]

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[Fwd: Re: [squeak-dev] Re: The Trunk: Morphic-ar.305.mcz]

Miguel Cobá
This is cool. we should add it to pharo.

http://code.google.com/p/pharo/issues/detail?id=1787

I don't know if tag it for 1.0, even thought only for having it and that
new code created on 1.0 use the new is: message instead of a isXXX
message.

For now is only for 1.1
Cheers
--
Miguel Cobá
http://miguel.leugim.com.mx

Levente Uzonyi wrote:

> On Mon, 11 Jan 2010, Andreas Raab wrote:
>
>> Levente Uzonyi wrote:
>>> On Mon, 11 Jan 2010, Andreas Raab wrote:
>>>> Neither. For one thing, this method already says
>>>> isScriptEditorMORPH so it obviously implies isMorph == true. (this
>>>> would be different if it were isScriptEditor because there might be
>>>> non-morph script editors).
>>>
>>> In this case all is*Morph methods should be moved to Object from Morph.
>>
>> Let's not split hairs here. Obviously such tests should be declared
>> on the smallest reasonable scope. I'll remind you that I promoted
>> that method only because it was actually sent to non-morphs. But at
>> that point it's just silly to write, e.g., (obj isMorph and:[obj
>> isBarMorph and:[obj isFooBarMorph]]) instead of obj isFooBarMorph.
>>
>>>> And it clearly can't be moved to the Etoys package - the whole
>>>> purpose of the method is to make it possibly to unload Etoys and
>>>> get isScriptEditorMorph == false for all other objects. This would
>>>> blow up straight into your face if you'd move it to Etoys. Same
>>>> goes for MorphExtension>>actorState, MorphExtension>>player etc.
>>>> They all need to stay in the original packages since after
>>>> unloading Etoys these messages will still be sent; they will just
>>>> never return true / non-nil respectively.
>>>
>>> Of course moving it to EToys would require refactoring of the code.
>>
>> Knock yourself out. I think there's far bigger fish to fry with
>> regards to unloading code but if that's what you'd like to work on be
>> my guest.
>
> I'm not about to work on that, my list is already too long and my
> knowledge about Morphic and EToys is not enough to do that properly.
> But it would be good if
> - we could unload packages with all related code
> - Object protocol would be smaller
The real solution here is to send 'is: #ScriptEditorMorph' and implement

Object >> is: aSymbol
    "A means for cleanly replacing all isXXX like methods.
    Please use judiciously!
    Suggested by Igor Stasenko at
   
http://lists.squeakfoundation.org/pipermail/squeak-dev/2009-June/136793.html"

    ^false

ScriptEditorMorph >> is: aSymbol
    ^ aSymbol = #ScriptEditorMorph or: [ super is: aSymbol ]

In this way you easily get rid of all #isXXX methods (at least, all that
just answer the true or false constants). Much more interesting: when
you unload EToys there is no knowledge about ScriptEditorMorph in
unrelated classes (such as Morph or Object).

Cheers,
Juan Vuletich

>
>
> Levente
>>
>> Cheers,
>>  - Andreas
>>
>>



_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: [Fwd: Re: [squeak-dev] Re: The Trunk: Morphic-ar.305.mcz]

Stéphane Ducasse
for 1.1

only critical fixes should go in 1.0 and 1.0 should get out of the door :)

>>
>
> The real solution here is to send 'is: #ScriptEditorMorph' and implement
>
> Object >> is: aSymbol
>   "A means for cleanly replacing all isXXX like methods.
>   Please use judiciously!
>   Suggested by Igor Stasenko at
>   http://lists.squeakfoundation.org/pipermail/squeak-dev/2009-June/136793.html"
>
>   ^false
>
> ScriptEditorMorph >> is: aSymbol
>   ^ aSymbol = #ScriptEditorMorph or: [ super is: aSymbol ]
>
> In this way you easily get rid of all #isXXX methods (at least, all that just answer the true or false constants). Much more interesting: when you unload EToys there is no knowledge about ScriptEditorMorph in unrelated classes (such as Morph or Object).


we do not have etoy related is: methods....
or we can remove it just straight
Now I somehow like the idea.

Stef
_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: [Fwd: Re: [squeak-dev] Re: The Trunk: Morphic-ar.305.mcz]

Miguel Cobá
El mar, 12-01-2010 a las 21:18 +0100, Stéphane Ducasse escribió:
> for 1.1
>
> only critical fixes should go in 1.0 and 1.0 should get out of the door :)
> >>

Ok


> >
> > The real solution here is to send 'is: #ScriptEditorMorph' and implement
> >
> > Object >> is: aSymbol
> >   "A means for cleanly replacing all isXXX like methods.
> >   Please use judiciously!
> >   Suggested by Igor Stasenko at
> >   http://lists.squeakfoundation.org/pipermail/squeak-dev/2009-June/136793.html"
> >
> >   ^false
> >
> > ScriptEditorMorph >> is: aSymbol
> >   ^ aSymbol = #ScriptEditorMorph or: [ super is: aSymbol ]
> >
> > In this way you easily get rid of all #isXXX methods (at least, all that just answer the true or false constants). Much more interesting: when you unload EToys there is no knowledge about ScriptEditorMorph in unrelated classes (such as Morph or Object).
>
>
> we do not have etoy related is: methods....
> or we can remove it just straight
> Now I somehow like the idea.

Yes, is only to have a neutral way to test for equality with some given
class, be this etoys, seaside or whatever someone want to test an object
against. In fact the method does nothing by itself nor changes the image
in a given way. It is required that all the code that has methods isXXX
is changed to use the new way to test class membership.

But 1.1 is ok with me.

Cheers


>
> Stef
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

--
Miguel Cobá
http://miguel.leugim.com.mx


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project