Hi metacellists,
Gofer new squeaksource: 'Citezen'; package: 'ConfigurationOfCitezen'; load. ConfigurationOfCitezen project latestVersion "returns nil" Why oh why ? :) I did go through the tutorial, no luck… -- Damien Pollet type less, do more [ | ] http://people.untyped.org/damien.pollet |
On Thu, Feb 4, 2010 at 1:29 PM, Damien Pollet <[hidden email]> wrote: Hi metacellists, Hi Damien: the problem is that latestVersion exclude certain blessings. Actually, #development #broken and #baseline You can see that in MetacelloProject >> classexcludeFromLatestVersion You defined only ONE version and with blessing development. Thus, no version in latestVersion :) Anyway, it is in the tutorial (yes, of course, everybody can just don't see it). The lesson is 11 blessing and it says: "Blessings can be used as a filter. For example, you will notice that the result of the following expression is version 0.6, because #latestVersion answers the latest version whose blessing is _not_ #development, #broken, or #blessing: MetacelloTutorialConfig project latestVersion. MetacelloTutorialConfig project latestVersion load. The blessing of version 1.1 is #development. To find the latest #development version you would execute this expression: MetacelloTutorialConfig project latestVersion: #development. (MetacelloTutorialConfig project latestVersion: #development) load. You can get the very last version independent of blessing by executing this expression: MetacelloTutorialConfig project lastVersion. MetacelloTutorialConfig project lastVersion load." Cheers Mariano -- |
> You defined only ONE version and with blessing development. Thus, no version
> in latestVersion :) Heh, newbie bug indeed. Thanks ! -- Damien Pollet type less, do more [ | ] http://people.untyped.org/damien.pollet |
In reply to this post by Mariano Martinez Peck
mariano
you should add a more explicit explanation in the cool forth coming chapter :) Stef On Feb 4, 2010, at 3:41 PM, Mariano Martinez Peck wrote: > > > On Thu, Feb 4, 2010 at 1:29 PM, Damien Pollet <[hidden email]> wrote: > Hi metacellists, > > Gofer new squeaksource: 'Citezen'; > package: 'ConfigurationOfCitezen'; > load. > ConfigurationOfCitezen project latestVersion "returns nil" > > Why oh why ? :) > I did go through the tutorial, no luck… > > > Hi Damien: the problem is that latestVersion exclude certain blessings. Actually, #development #broken and #baseline > > You can see that in MetacelloProject >> classexcludeFromLatestVersion > > You defined only ONE version and with blessing development. Thus, no version in latestVersion :) > > Anyway, it is in the tutorial (yes, of course, everybody can just don't see it). The lesson is 11 blessing and it says: > > > "Blessings can be used as a filter. For example, you will notice that the result of the > following expression is version 0.6, because #latestVersion answers the latest version whose > blessing is _not_ #development, #broken, or #blessing: > > MetacelloTutorialConfig project latestVersion. > MetacelloTutorialConfig project latestVersion load. > > The blessing of version 1.1 is #development. To find the latest #development version you > would execute this expression: > > MetacelloTutorialConfig project latestVersion: #development. > (MetacelloTutorialConfig project latestVersion: #development) load. > > You can get the very last version independent of blessing by executing this expression: > > MetacelloTutorialConfig project lastVersion. > MetacelloTutorialConfig project lastVersion load." > > > Cheers > > Mariano > > > -- > Damien Pollet > type less, do more [ | ] http://people.untyped.org/damien.pollet > |
On Thu, Feb 4, 2010 at 9:34 PM, stephane ducasse <[hidden email]> wrote: mariano I already had it :) "Blessings can be also used as a filter. For example, you will notice that the result of the following expression: \begin{code}{} ConfigurationOfCoolBrowser project latestVersion. \end{code} is not always the last version. This is because \#latestVersion answers the latest version whose blessing is {\em not} \#development, \#broken, or \#blessing. To find the latest \#development version for example, you would execute this expression: " Anyway, my idea is that when I finish the chapter I will check the whole mailing list to see all the interesting stuff to include. Mariano Stef |
yes I should finish to read and modify it
On Feb 5, 2010, at 9:28 AM, Mariano Martinez Peck wrote: > > > On Thu, Feb 4, 2010 at 9:34 PM, stephane ducasse <[hidden email]> wrote: > mariano > > you should add a more explicit explanation in the cool forth coming chapter :) > > > I already had it :) > > "Blessings can be also used as a filter. For example, you will notice that the result of the following expression: > \begin{code}{} > ConfigurationOfCoolBrowser project latestVersion. > \end{code} > is not always the last version. This is because \#latestVersion answers the latest version whose blessing is {\em not} \#development, \#broken, or \#blessing. To find the latest \#development version for example, you would execute this expression: > " > > Anyway, my idea is that when I finish the chapter I will check the whole mailing list to see all the interesting stuff to include. > > Mariano > > Stef > On Feb 4, 2010, at 3:41 PM, Mariano Martinez Peck wrote: > > > > > > > On Thu, Feb 4, 2010 at 1:29 PM, Damien Pollet <[hidden email]> wrote: > > Hi metacellists, > > > > Gofer new squeaksource: 'Citezen'; > > package: 'ConfigurationOfCitezen'; > > load. > > ConfigurationOfCitezen project latestVersion "returns nil" > > > > Why oh why ? :) > > I did go through the tutorial, no luck… > > > > > > Hi Damien: the problem is that latestVersion exclude certain blessings. Actually, #development #broken and #baseline > > > > You can see that in MetacelloProject >> classexcludeFromLatestVersion > > > > You defined only ONE version and with blessing development. Thus, no version in latestVersion :) > > > > Anyway, it is in the tutorial (yes, of course, everybody can just don't see it). The lesson is 11 blessing and it says: > > > > > > "Blessings can be used as a filter. For example, you will notice that the result of the > > following expression is version 0.6, because #latestVersion answers the latest version whose > > blessing is _not_ #development, #broken, or #blessing: > > > > MetacelloTutorialConfig project latestVersion. > > MetacelloTutorialConfig project latestVersion load. > > > > The blessing of version 1.1 is #development. To find the latest #development version you > > would execute this expression: > > > > MetacelloTutorialConfig project latestVersion: #development. > > (MetacelloTutorialConfig project latestVersion: #development) load. > > > > You can get the very last version independent of blessing by executing this expression: > > > > MetacelloTutorialConfig project lastVersion. > > MetacelloTutorialConfig project lastVersion load." > > > > > > Cheers > > > > Mariano > > > > > > -- > > Damien Pollet > > type less, do more [ | ] http://people.untyped.org/damien.pollet > > > > |
In reply to this post by stephane ducasse-2
On Thu, Feb 4, 2010 at 21:34, stephane ducasse
<[hidden email]> wrote: > you should add a more explicit explanation in the cool forth coming chapter :) By the way, couldn't there be some kind of "interactive" exceptions ? Something to provide the user feedback and meaningful error messages from doits, but that wouldn't impact normal execution… -- Damien Pollet type less, do more [ | ] http://people.untyped.org/damien.pollet |
On Fri, Feb 5, 2010 at 11:21 AM, Damien Pollet <[hidden email]> wrote: On Thu, Feb 4, 2010 at 21:34, stephane ducasse The problem is that Metacello shouldn't use UIManager or popups so that it can be used by automated build scritps where you don't want that. How can you distinguish if the do it is from what you were trying to do or from such build scripts ? I don't know. It is complicated. And it is documented, at least it is in the tutorial. There will be also some validations in a future. I think there are some issues opened regarding this. But anyway, we should heard Dale opinion, I am just a user as you :) Mariano -- |
In reply to this post by Damien Pollet
Damien,
Thanks for the feedback ... technically your original configuration wasn't wrong, it was just not what you expected, which _is_ a bug, just a different kind of bug ... Mariano is correct that I don't want too many notifiers/warnings to interfere with "normal" execution. I've known that Metacello needs a validator to identify errors and give good error messages (you can currently build "invalid" configurations that don't break right away and when they do, it is difficult to recognize the cause), but I now see that a "configuarion critic" would also be useful ... the critic could give you exactly the feedback that you are looking for without annoying folks with messages when they "violated the convention" on purpose. I'll include this thread in Issue 6 (the validator feature request). Thanks, Dale ----- "Damien Pollet" <[hidden email]> wrote: | On Thu, Feb 4, 2010 at 21:34, stephane ducasse | <[hidden email]> wrote: | > you should add a more explicit explanation in the cool forth coming | chapter :) | | By the way, couldn't there be some kind of "interactive" exceptions ? | Something to provide the user feedback and meaningful error messages | from doits, but that wouldn't impact normal execution… | | -- | Damien Pollet | type less, do more [ | ] http://people.untyped.org/damien.pollet |
On Fri, Feb 5, 2010 at 18:48, Dale Henrichs <[hidden email]> wrote:
> Damien, > > Thanks for the feedback ... technically your original configuration wasn't wrong, it was just not what you expected, which _is_ a bug, just a different kind of bug ... Mariano is correct that I don't want too many notifiers/warnings to interfere with "normal" execution. My remark was a more general one about the platform… we could change the doit mechanism to do user-oriented exception handling, then applications could just throw "user exceptions" with helpful messages, that would be ignored in a normal programming setting. > I've known that Metacello needs a validator to identify errors and give good error messages (you can currently build "invalid" configurations that don't break right away and when they do, it is difficult to recognize the cause), but I now see that a "configuarion critic" would also be useful ... the critic could give you exactly the feedback that you are looking for without annoying folks with messages when they "violated the convention" on purpose. Indeed. First what's needed is an entry point, like the Metacello tutorial, then something to help refine details, or to help when you have an existing code base and you want to be able to forget the details or to be notified when you err or the tool changes. Smalltalk is so dynamic, I think that it needs this kind of *active* documentation. -- Damien Pollet type less, do more [ | ] http://people.untyped.org/damien.pollet |
Free forum by Nabble | Edit this page |