Folks -
As I'm sure you've noticed, I've pushed the NanoTraits updates. There is one oddity in the middle namely you'll get a merge request for ClassDescription caused by some MC issue earlier (for some reason, an ealier update didn't include the change to the class var). Choose to "keep" it and continue. Other than that everything should be in excellent shape after the updates. There should be no newly failing tests and no unexpected passes. If you have external packages that have traits dependencies of any sort, I'd be interested to find out if NanoTraits introduce any problems with your packages. If so, please report what kinds of problems you're seeing so that we can address them. Cheers, - Andreas |
>>>>> "Andreas" == Andreas Raab <[hidden email]> writes:
Andreas> As I'm sure you've noticed, I've pushed the NanoTraits updates. What's the best way to learn: 1) what these are, if you never learned about the old Traits 2) how these are different from the old Traits 3) what *might* break (things to watch out for) when porting old code I'm asking partially for me, but also so I can point others to the right info. If the answer is "well, that's the next step - documentation", it'd be nice to know. :) -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 <[hidden email]> <URL:http://www.stonehenge.com/merlyn/> Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc. See http://methodsandmessages.vox.com/ for Smalltalk and Seaside discussion |
In reply to this post by Andreas.Raab
On Thu, Dec 31, 2009 at 04:42:28PM +0100, Andreas Raab wrote:
> Folks - > > As I'm sure you've noticed, I've pushed the NanoTraits updates. There is > one oddity in the middle namely you'll get a merge request for > ClassDescription caused by some MC issue earlier (for some reason, an > ealier update didn't include the change to the class var). Choose to > "keep" it and continue. > > Other than that everything should be in excellent shape after the > updates. There should be no newly failing tests and no unexpected passes. I just completed the update to my image, and everything loaded as advertised (just the one merge request mentioned above). The traits tests are all green, and everything seems fine. The update is a rather lengthy procedure on a slow machine, so I expect that a new prebuilt image at http://ftp.squeak.org/trunk/ will be in order soon. Dave |
>>>>> "David" == David T Lewis <[hidden email]> writes:
David> The update is a rather lengthy procedure on a slow machine, so I David> expect that a new prebuilt image at http://ftp.squeak.org/trunk/ David> will be in order soon. Especially given the weird merge required in the middle. If someone is updating but not following squeak-dev, they might be confused as to what to do. This is probably "horse already out of the barn" talk, but is there a way to insert a popup just before that dialog comes up in some preamble that says "when the following happens, do this"? -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 <[hidden email]> <URL:http://www.stonehenge.com/merlyn/> Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc. See http://methodsandmessages.vox.com/ for Smalltalk and Seaside discussion |
In reply to this post by Randal L. Schwartz
Randal L. Schwartz wrote:
> What's the best way to learn: > 1) what these are, if you never learned about the old Traits The same way by which you'd learn about the old traits. Read a paper or something. > 2) how these are different from the old Traits I opted out of every single improvement that was discussed to avoid incompatibilities. As far as I know this version is 100% compatible in terms of black-box behavior. > 3) what *might* break (things to watch out for) when porting old code There are two potential issues: One is if your package uses trait implementation specific methods. Most of these can be replaced merely by using the public interface, for example instead of "TFoo addExclusionOf: #bar" just use "TFoo - {#bar}" which is precisely the same. The second potential issue is that traits now inherit from ClassDescription so a missing override in TraitBehavior could potentially cause problems (say, if you had Object>>isTraitOrObject ^true and Behavior>>isTraitOrObject ^false). This should be very rare though - most cases that I've seen use overrides in both Behavior and TraitBehavior and if that's done consistently it will work fine. Generally I really don't expect any issues. Since the structure was preserved pretty much everything should just work. > I'm asking partially for me, but also so I can point others to the right > info. > > If the answer is "well, that's the next step - documentation", it'd > be nice to know. :) No, the next step is unloading :-) Cheers, - Andreas |
In reply to this post by Randal L. Schwartz
Randal L. Schwartz wrote:
> This is probably "horse already out of the barn" talk, but is there > a way to insert a popup just before that dialog comes up in some preamble > that says "when the following happens, do this"? Yes, there is: Fix the server to produce the correct diff for the earlier update. I have no idea why that happens but it's clear that the problem is caused by an earlier update which fails to deliver the change in class definition. Kernel-ar.348 clearly has the new class var but the diff produced for it doesn't. Cheers, - Andreas |
Free forum by Nabble | Edit this page |