Thanks for the info. I think i am on safe side of things since I dont mess
with pharo internals.

You say if I override an existing method, that method cannot be recovered,
but that is strange since the system does have versions for each method ,
so I assume here that is not that is not possible rather than none actually
implemented this in a convenient way.

How you can have class collision , I assumed so far that the system does
not allow you to have two classes with the same name.

If you have subclasses in another package then I would let them MNU. I
think its kinda insane to try to protect the user from all scenarios, at
least not before you deal with more pressing issues / bugs. One thing that
could help here is to have something similar to when we install a project
that warns us that  a project depends on other projects/ classes we could
have the same warning for when we remove classes.

I think also its a good idea to allow user some control, for example maybe
the user want to keep those subclasses and make them subclass another class
instead.

Yeah I will look into unloading with metacello that sounds cleaner this is
an issue that really interests me. How to make my project uninstallable and
automatically update-able is two areas that deeply interest me.

On Fri, Nov 20, 2015 at 12:56 AM Mariano Martinez Peck <
[email protected]> wrote:

> To unload a package you can do it from Monticello Browser..Select the
> package (left column), right click, "Unload Package".
> But not that it will not work properly in cases where you have method
> overrides (the original methods you override will NOT be recovered), or
> class collisions (imagine your package has a class name collision with a
> class name of another package)...
> Then you can have instances of classes you unload...hence the Obsolete
> thingy (instances are now instance of an obsolete class).
> Then you can also have subclasses in ANOTHER package of classes of the
> package you unload. What you do with the subclasses? and with the instances
> of such subclasses?
> So... order of unloading does matter across packages (in the same way that
> loading does). So for unloading multiple packages you should be using
> Meacello or similar.
>
> As you can see, it's not an easy task.
>
>
>
>
> On Thu, Nov 19, 2015 at 7:23 PM, milton mamani <[email protected]>
> wrote:
>
>> +1
>> By the way so how one can unload a project from the pharo image ? I never
>> tried that one before.
>>
>> Use the Force Dimitris
>>
>> Sorry I dont have the answer for this now, but I am interested on this
>> issue.
>>
>> 2015-11-19 18:05 GMT-04:00 Dimitris Chloupis <[email protected]>:
>>
>>> I prefer being a technomage to a jedi, jedies are too, well naive and
>>> purists.
>>>
>>> By the way so how one can unload a project from the pharo image ? I
>>> never tried that one before.
>>>
>>> On Thu, Nov 19, 2015 at 10:59 PM stepharo <[email protected]> wrote:
>>>
>>>> When I was getting to be a Jedi, my Yoda master (Joseph Pelrine) told me
>>>> the following (yes back in 96)
>>>>
>>>> translated from Yoda language:
>>>>
>>>>      you will be a real Jedi when your code will load in one click!
>>>>      you will be a real Jedi when your code will unload in one click and
>>>> do not let shit behind it!
>>>>
>>>> Simple no. So when do we get real Jedi knights?
>>>>
>>>> Stef
>>>>
>>>>
>>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>

Reply via email to