Re: [Pharo-users] Re: [ann] snapshotcello

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

Re: [Pharo-users] Re: [ann] snapshotcello

Tudor Girba-2
Hi,

On Jul 23, 2013, at 11:51 PM, "Dale K. Henrichs" <[hidden email]> wrote:

> Stef,
>
> I haven't completely wrapped my brain around what SnapshotCello does so I don't have an informed opinion ... the fact that you found a need to invent SnapshotCello does speak volumes to the fact that there is a need that is going unmet:).

What is not clear? I would be interested in describing our scenario in more details because I think this is a development pattern. But, I need some concrete questions to start from.

> However, I don't like the fact that you end up sending a non-spec message to make this work (#populateSpec:with:). Tools like Versioner will not be able to rewrite a method like this correctly so it is a less than satisfactory workaround to the method literal limit.

I still do not understand why Versionner would be affected by the current versions given that we are only generating versions that should be immutable hence no need for management.

> With that said it _is_ performing a useful function ...
>
> I have recently come up with an approach to addressing the method literal limit from a slightly different angle and I would assume that SnapshotCello could be recast to use this "approved approach" when the new techinique becomes available. At that time it would make sense to roll the SnapshotCello funtionality into the MetacelloToolBox...

Having a different way to store the information should be no problem. I am curious about your ideas.

Cheers,
Doru



> Dale
>
> [1] http://forum.world.st/Loading-problem-in-Seaside-tp4699965p4700161.html
> ----- Original Message -----
> | From: "Stéphane Ducasse" <[hidden email]>
> | To: "Moose-related development" <[hidden email]>
> | Cc: "Any question about pharo is welcome" <[hidden email]>, "Pharo Development List"
> | <[hidden email]>
> | Sent: Tuesday, July 23, 2013 2:17:50 PM
> | Subject: [Moose-dev] Re: [ann] snapshotcello
> |
> | Nice to see SnapshotCello coming to live. May be it should be
> | integrated to Metacello.
> | Because everybody may need this cool feature.
> |
> | Stef
> |
> | On Jul 23, 2013, at 10:43 PM, Tudor Girba <[hidden email]>
> | wrote:
> |
> | > Hi,
> | >
> | > Stef and I developed Snapshotcello, a little utility that enables
> | > you to freeze a snapshot of a given configuration based on what is
> | > already loaded in your current image.
> | >
> | > The idea is simple. You develop against the latest versions of all
> | > packages, and commit your changes for each package. When you are
> | > ready for a release, you assemble your image, and generate a
> | > snapshot version that can be reloaded later.
> | >
> | > Here is an example of how it can work to take a snapshot of a
> | > development version:
> | > Snapshotcello new
> | >     configurationClass: ConfigurationOfMoose;
> | >     configurationVersion: #development;
> | >     publishVersion: '4.8-snapshot'
> | >
> | > You can find more details here:
> | > http://www.tudorgirba.com/blog/snapshotcello-take-a-snapshot-when-you-re-ready
> | >
> | > You can get the code at:
> | > Gofer new
> | >     smalltalkhubUser: 'girba' project: 'Snapshotcello';
> | >     package: 'ConfigurationOfSnapshotcello';
> | >     load.
> | > (Smalltalk globals at: #ConfigurationOfSnapshotcello)
> | > loadDevelopment
> | >
> | > Cheers,
> | > Doru
> | >
> | > --
> | > www.tudorgirba.com
> | >
> | > "Every successful trip needs a suitable vehicle."
> | >
> | >
> | >
> | >
> | >
> | > _______________________________________________
> | > Moose-dev mailing list
> | > [hidden email]
> | > https://www.iam.unibe.ch/mailman/listinfo/moose-dev
> |
> |
> | _______________________________________________
> | Moose-dev mailing list
> | [hidden email]
> | https://www.iam.unibe.ch/mailman/listinfo/moose-dev
> |
>

--
www.tudorgirba.com

"Live like you mean it."


_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-users] Re: [ann] snapshotcello

Dale Henrichs-3


----- Original Message -----
| From: "Tudor Girba" <[hidden email]>
| To: "Any question about pharo is welcome" <[hidden email]>
| Cc: "Moose-related development" <[hidden email]>, "Pharo Development List" <[hidden email]>
| Sent: Wednesday, July 24, 2013 12:07:48 AM
| Subject: Re: [Pharo-users] [Moose-dev] Re: [ann] snapshotcello
|
| Hi,
|
| On Jul 23, 2013, at 11:51 PM, "Dale K. Henrichs"
| <[hidden email]> wrote:
|
| > Stef,
| >
| > I haven't completely wrapped my brain around what SnapshotCello
| > does so I don't have an informed opinion ... the fact that you
| > found a need to invent SnapshotCello does speak volumes to the
| > fact that there is a need that is going unmet:).
|
| What is not clear? I would be interested in describing our scenario
| in more details because I think this is a development pattern. But,
| I need some concrete questions to start from.

I do not completely understand what SnapshotCello is actually doing let alone why it is doing what it is doing ... So I need to spend time with it to "wrap my brain around it" then I can ask concrete questions....

|
| > However, I don't like the fact that you end up sending a non-spec
| > message to make this work (#populateSpec:with:). Tools like
| > Versioner will not be able to rewrite a method like this correctly
| > so it is a less than satisfactory workaround to the method literal
| > limit.
|
| I still do not understand why Versionner would be affected by the
| current versions given that we are only generating versions that
| should be immutable hence no need for management.

I made my comments without having wrapped my head around SnapshotCello and it is my standard reaction to non-spec-based message sends ... I reserve the right to someday switch to a non-class-based implementation for Metacello and problems like too many literals in a method will no longer be a problem (and the tool many literals issue is but one of the forces driving me away from class-based specs), but specs that are generated dynamically based on data gleaned from arbitrary message sends will not be mappable.

So I continue to repeat the message that Metacello does not support the dynamic generation of specs.

In your particular case you are probably living within acceptable bounds, but the very existence of "message sends within a spec" may encourage other folks to try their hand at dynamic generation....and we are off to the races:)

So I continue to repeat the message that Metacello does not support the dynamic generation of specs.
 
|
| > With that said it _is_ performing a useful function ...
| >
| > I have recently come up with an approach to addressing the method
| > literal limit from a slightly different angle and I would assume
| > that SnapshotCello could be recast to use this "approved approach"
| > when the new techinique becomes available. At that time it would
| > make sense to roll the SnapshotCello funtionality into the
| > MetacelloToolBox...
|
| Having a different way to store the information should be no problem.
| I am curious about your ideas.

I've tossed out some of my ideas in a post in the metacello mailing list[1]. And that would be a good place to discusss this further...

Dale

[1] http://forum.world.st/Loading-problem-in-Seaside-tc4699965.html
_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev