Re: [Pharo-users] [Moose-dev] Re: [ann] snapshotcello
Hi, On Jul 23, 2013, at 11:51 PM, Dale K. Henrichs dale.henri...@gemtalksystems.com 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 stephane.duca...@inria.fr | To: Moose-related development moose-...@iam.unibe.ch | Cc: Any question about pharo is welcome pharo-users@lists.pharo.org, Pharo Development List | pharo-...@lists.pharo.org | 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 tu...@tudorgirba.com | 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 | moose-...@iam.unibe.ch | https://www.iam.unibe.ch/mailman/listinfo/moose-dev | | | ___ | Moose-dev mailing list | moose-...@iam.unibe.ch | https://www.iam.unibe.ch/mailman/listinfo/moose-dev | -- www.tudorgirba.com Live like you mean it.
Re: [Pharo-users] [Moose-dev] Re: [ann] snapshotcello
- Original Message - | From: Tudor Girba tu...@tudorgirba.com | To: Any question about pharo is welcome pharo-users@lists.pharo.org | Cc: Moose-related development moose-...@iam.unibe.ch, Pharo Development List pharo-...@lists.pharo.org | 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 | dale.henri...@gemtalksystems.com 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 generationand 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
Re: [Pharo-users] [Moose-dev] Re: [ann] snapshotcello
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 stephane.duca...@inria.fr | To: Moose-related development moose-...@iam.unibe.ch | Cc: Any question about pharo is welcome pharo-users@lists.pharo.org, Pharo Development List | pharo-...@lists.pharo.org | 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 tu...@tudorgirba.com | 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 | moose-...@iam.unibe.ch | https://www.iam.unibe.ch/mailman/listinfo/moose-dev | | | ___ | Moose-dev mailing list | moose-...@iam.unibe.ch | https://www.iam.unibe.ch/mailman/listinfo/moose-dev |