Documentation of load types

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

Documentation of load types

Mariano Martinez Peck
Hi dale. I wanted to write a little section for the Metacello chapter in PBE2 and I wonder if they are documented somewhere. I just know linear and atomic and more or less the differences between them, but not sure completly neither if there are more types....

thanks

mariano
Reply | Threaded
Open this post in threaded view
|

Re: Documentation of load types

Dale Henrichs
Mariano Martinez Peck wrote:
> Hi dale. I wanted to write a little section for the Metacello chapter in
> PBE2 and I wonder if they are documented somewhere. I just know linear
> and atomic and more or less the differences between them, but not sure
> completly neither if there are more types....
>
> thanks
>
> mariano

There are no other types...

I think my earlier mail about #atomic loading pretty much covered that
topic ...

#atomic loads for Metacello were included because in GLASS I often moved
methods from one package to another and if you a _updating_ you _must_
load all of the packages at once, otherwise, loading one package at a
time, one package may add the method and the next package may remove the
method (a case of load order being dependent upon edits)....

The key phrase here is that this is useful for _updates_. It may be that
we can deprecate #atomic loads as a type. The only remaining use case is
where packages have been partitioned in such a way that they can't be
loaded individually and that case may be worth keeping #atomic around for.

When I get to implementing pacakge updating, I would think that "atomic"
  loading will be done automatically for the above mentioned reasons ...

So in the end, #linear load should be always used, unless you have a
case where the pacakges cannot be loaded linearly...

Dale
Reply | Threaded
Open this post in threaded view
|

Re: Documentation of load types

Mariano Martinez Peck
thanks Dale. Last question. When using #atomic the postLoadDoIts or preLoadDoIts are executed beofre or after each package or before/after the bulk ?  I guess the last one...but just to be sure.

On Mon, Aug 23, 2010 at 6:56 PM, Dale Henrichs <[hidden email]> wrote:
Mariano Martinez Peck wrote:
Hi dale. I wanted to write a little section for the Metacello chapter in PBE2 and I wonder if they are documented somewhere. I just know linear and atomic and more or less the differences between them, but not sure completly neither if there are more types....

thanks

mariano

There are no other types...

I think my earlier mail about #atomic loading pretty much covered that topic ...

#atomic loads for Metacello were included because in GLASS I often moved methods from one package to another and if you a _updating_ you _must_ load all of the packages at once, otherwise, loading one package at a time, one package may add the method and the next package may remove the method (a case of load order being dependent upon edits)....

The key phrase here is that this is useful for _updates_. It may be that we can deprecate #atomic loads as a type. The only remaining use case is where packages have been partitioned in such a way that they can't be loaded individually and that case may be worth keeping #atomic around for.

When I get to implementing pacakge updating, I would think that "atomic"  loading will be done automatically for the above mentioned reasons ...

So in the end, #linear load should be always used, unless you have a case where the pacakges cannot be loaded linearly...

Dale

Reply | Threaded
Open this post in threaded view
|

Re: Documentation of load types

Dale Henrichs
Mariano,

You are right the preloads are done before any of the loads and the
postload is done after the the atomic load is complete...

If you want to get picky, there _are_ conditions under which an atomic
load is interrupted by a linear load (of another project) ... it was one
of the bugs that I worked on this summer and I'm pretty sure that I've
got testcases ....

Dale

Mariano Martinez Peck wrote:

> thanks Dale. Last question. When using #atomic the postLoadDoIts or
> preLoadDoIts are executed beofre or after each package or before/after
> the bulk ?  I guess the last one...but just to be sure.
>
> On Mon, Aug 23, 2010 at 6:56 PM, Dale Henrichs <[hidden email]
> <mailto:[hidden email]>> wrote:
>
>     Mariano Martinez Peck wrote:
>
>         Hi dale. I wanted to write a little section for the Metacello
>         chapter in PBE2 and I wonder if they are documented somewhere. I
>         just know linear and atomic and more or less the differences
>         between them, but not sure completly neither if there are more
>         types....
>
>         thanks
>
>         mariano
>
>
>     There are no other types...
>
>     I think my earlier mail about #atomic loading pretty much covered
>     that topic ...
>
>     #atomic loads for Metacello were included because in GLASS I often
>     moved methods from one package to another and if you a _updating_
>     you _must_ load all of the packages at once, otherwise, loading one
>     package at a time, one package may add the method and the next
>     package may remove the method (a case of load order being dependent
>     upon edits)....
>
>     The key phrase here is that this is useful for _updates_. It may be
>     that we can deprecate #atomic loads as a type. The only remaining
>     use case is where packages have been partitioned in such a way that
>     they can't be loaded individually and that case may be worth keeping
>     #atomic around for.
>
>     When I get to implementing pacakge updating, I would think that
>     "atomic"  loading will be done automatically for the above mentioned
>     reasons ...
>
>     So in the end, #linear load should be always used, unless you have a
>     case where the pacakges cannot be loaded linearly...
>
>     Dale
>
>