[ann] snapshotcello

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

[ann] snapshotcello

Tudor Girba-2
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."





Reply | Threaded
Open this post in threaded view
|

Re: [Moose-dev] [ann] snapshotcello

Stéphane Ducasse
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


Reply | Threaded
Open this post in threaded view
|

Re: [Moose-dev] Re: [ann] snapshotcello

Dale Henrichs-3
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:).

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.

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...

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
|

Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-dev] [Moose-dev] Re: [ann] snapshotcello

Stéphane Ducasse

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:).
>
> 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.

Indeed. May be in the future we could recreate a simple compliant spec driven method by interpreting the
existing configuration trees but this requires some work.

>
> 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...
>
> 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
> |
>


Reply | Threaded
Open this post in threaded view
|

Re: [Moose-dev] Re: [ann] snapshotcello

Tudor Girba-2
In reply to this post by Dale Henrichs-3
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."


Reply | Threaded
Open this post in threaded view
|

Re: [Moose-dev] Re: [Pharo-dev] Re: [ann] snapshotcello

Tudor Girba-2
In reply to this post by Stéphane Ducasse
Hi,

On Jul 24, 2013, at 8:48 AM, Stéphane Ducasse <[hidden email]> wrote:

>
> 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:).
>>
>> 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.
> Indeed. May be in the future we could recreate a simple compliant spec driven method by interpreting the
> existing configuration trees but this requires some work.

I do not understand this point. What do you mean by "interpreting the configuration trees"?

Doru

>>
>> 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...
>>
>> 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
>> |
>>
>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
www.tudorgirba.com

"From an abstract enough point of view, any two things are similar."




Reply | Threaded
Open this post in threaded view
|

Re: [Moose-dev] Re: [Pharo-dev] Re: [ann] snapshotcello

Stéphane Ducasse

On Jul 24, 2013, at 9:11 AM, Tudor Girba <[hidden email]> wrote:

> Hi,
>
> On Jul 24, 2013, at 8:48 AM, Stéphane Ducasse <[hidden email]> wrote:
>
>>
>> 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:).
>>>
>>> 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.
>> Indeed. May be in the future we could recreate a simple compliant spec driven method by interpreting the
>> existing configuration trees but this requires some work.
>
> I do not understand this point. What do you mean by "interpreting the configuration trees"?

I mean going over the configurations with dependencies to recreate the tree structure but with versions.
May be this is not needed because for versions we do not need dependencies so just group them per configurations.

>
> Doru
>
>>>
>>> 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...
>>>
>>> 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
>>> |
>>>
>>
>>
>> _______________________________________________
>> Moose-dev mailing list
>> [hidden email]
>> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
> --
> www.tudorgirba.com
>
> "From an abstract enough point of view, any two things are similar."
>
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-dev] [Moose-dev] Re: [ann] snapshotcello

Dale Henrichs-3
In reply to this post by Stéphane Ducasse


----- Original Message -----
| From: "Stéphane Ducasse" <[hidden email]>
| To: "Pharo Development List" <[hidden email]>
| Cc: "Moose-related development" <[hidden email]>, "Any question about pharo is welcome"
| <[hidden email]>
| Sent: Tuesday, July 23, 2013 11:48:27 PM
| Subject: Re: [Pharo-dev] [Moose-dev] Re: [ann] snapshotcello
|
|
| 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:).
| >
| > 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.
|
| Indeed. May be in the future we could recreate a simple compliant
| spec driven method by interpreting the
| existing configuration trees but this requires some work.

Absolutely and it would be work that I'd be willing to do ... From that perspective SnapshotCello is a very good spec for what you and the Moose team need.

Dale

Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-dev] [Moose-dev] Re: [ann] snapshotcello

Tudor Girba-2
Hi,

I would be happy to blend Snapshotcello into Metacello.

Cheers,
Doru



On Jul 24, 2013, at 9:05 PM, "Dale K. Henrichs" <[hidden email]> wrote:

>
>
> ----- Original Message -----
> | From: "Stéphane Ducasse" <[hidden email]>
> | To: "Pharo Development List" <[hidden email]>
> | Cc: "Moose-related development" <[hidden email]>, "Any question about pharo is welcome"
> | <[hidden email]>
> | Sent: Tuesday, July 23, 2013 11:48:27 PM
> | Subject: Re: [Pharo-dev] [Moose-dev] Re: [ann] snapshotcello
> |
> |
> | 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:).
> | >
> | > 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.
> |
> | Indeed. May be in the future we could recreate a simple compliant
> | spec driven method by interpreting the
> | existing configuration trees but this requires some work.
>
> Absolutely and it would be work that I'd be willing to do ... From that perspective SnapshotCello is a very good spec for what you and the Moose team need.
>
> Dale
>

--
www.tudorgirba.com

"Every thing has its own flow."





Reply | Threaded
Open this post in threaded view
|

Re: [Moose-dev] Re: [ann] snapshotcello

Dale Henrichs-3
In reply to this post by Tudor Girba-2


----- 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