Re: [Pharo-project] Replacing 'ReadStream on smth:' by 'smth readStream'
Stef, Whether or not I agree depends on what you mean. While I think I see where Damien is going, my read is that #on: is actually negotiable, given that we should be able to either fix (or simply replace and than alias) ReadStream - two different ways of solving the same problem. But if you concerned about breaking some things that Damien and I are committed to fixing as part of the change, then I submit that we will be helpless when we move from the relatively calm world of streams to the chaos of morphic. Which part bothers you? The plan is to rennovate (sometimes messy) and *then* slowly evolve the resulting stable system, right? Bill Wilhelm K. Schwab, Ph.D. University of Florida Department of Anesthesiology PO Box 100254 Gainesville, FL 32610-0254 Email: bschwab@anest.ufl.edu Tel: (352) 846-1285 FAX: (352) 392-7029
stephane.ducasse@inria.fr 5/30/2008 3:27:20 PM >>> I agree with adrian. For pharo we should move but we should also make sure it is really stable.
Stef On May 30, 2008, at 2:18 PM, Adrian Lienhard wrote:
Have you verified that your change does not inadvertently modify any behavior? Its not likely, but changes like this can introduce subtle bugs. For instance, Matrix overrides readStream. So if there exists any use of "ReadStream on: aMatrix" that is there to bypass the overridden behavior, the code will break.
Cheers, Adrian
On May 30, 2008, at 10:47 , Damien Cassou wrote:
Hi,
I've just published in the pharo inbox a package for the System category. This change has been generated automatically through the rewriter:
ParseTreeRewriter new replace: 'ReadStream on: ``@object' with: '``@object readStream'; yourself
The formatting of the changed method is completely different due to the use of the refactoring browser. This makes the diffs not readable. Even if it is a real problem, I don't see any simple solution. What do you think?
-- Damien Cassou Peter von der Ahé: «I'm beginning to see why Gilad wished us good luck». (http://blogs.sun.com/ahe/entry/override_snafu)
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Hi Bill, Damien, I'm not against such refactorings at all. And I also know that stuff will break in the process. The only point I wanted to make is that those changes, especially if they touch a large code base, need to be done carefully. In the proposed change of #readStream, I assume Damien has thought about the consequences. As he noted in another mail, my example with Matrix indeed is not a problem. I just picked an implementor of #readStream to illustrate that such a change may not necessarily be behavior preserving. So, go ahead! Cheers, Adrian On May 30, 2008, at 22:46 , Bill Schwab wrote:
Stef,
Whether or not I agree depends on what you mean. While I think I see where Damien is going, my read is that #on: is actually negotiable, given that we should be able to either fix (or simply replace and than alias) ReadStream - two different ways of solving the same problem. But if you concerned about breaking some things that Damien and I are committed to fixing as part of the change, then I submit that we will be helpless when we move from the relatively calm world of streams to the chaos of morphic.
Which part bothers you?
The plan is to rennovate (sometimes messy) and *then* slowly evolve the resulting stable system, right?
Bill
Wilhelm K. Schwab, Ph.D. University of Florida Department of Anesthesiology PO Box 100254 Gainesville, FL 32610-0254
Email: bschwab@anest.ufl.edu Tel: (352) 846-1285 FAX: (352) 392-7029
stephane.ducasse@inria.fr 5/30/2008 3:27:20 PM >>> I agree with adrian. For pharo we should move but we should also make sure it is really stable.
Stef
On May 30, 2008, at 2:18 PM, Adrian Lienhard wrote:
Have you verified that your change does not inadvertently modify any behavior? Its not likely, but changes like this can introduce subtle bugs. For instance, Matrix overrides readStream. So if there exists any use of "ReadStream on: aMatrix" that is there to bypass the overridden behavior, the code will break.
Cheers, Adrian
On May 30, 2008, at 10:47 , Damien Cassou wrote:
Hi,
I've just published in the pharo inbox a package for the System category. This change has been generated automatically through the rewriter:
ParseTreeRewriter new replace: 'ReadStream on: ``@object' with: '``@object readStream'; yourself
The formatting of the changed method is completely different due to the use of the refactoring browser. This makes the diffs not readable. Even if it is a real problem, I don't see any simple solution. What do you think?
-- Damien Cassou Peter von der Ahé: «I'm beginning to see why Gilad wished us good luck». (http://blogs.sun.com/ahe/entry/override_snafu)
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On May 30, 2008, at 10:46 PM, Bill Schwab wrote:
Stef,
Whether or not I agree depends on what you mean. While I think I see where Damien is going, my read is that #on: is actually negotiable, given that we should be able to either fix (or simply replace and than alias) ReadStream - two different ways of solving the same problem. But if you concerned about breaking some things that Damien and I are committed to fixing as part of the change, then I submit that we will be helpless when we move from the relatively calm world of streams to the chaos of morphic.
You lost me. :)
Which part bothers you?
None :)
The plan is to rennovate (sometimes messy) and *then* slowly evolve the resulting stable system, right?
The plan is to move but be careful. This is why I would like you guys to tell us what you want to do (or are doing) so that we can document the changes and everybody can participate and help also fixing if necessary. I just want more organized communication when we have a "big" change. No more. Stef
participants (3)
-
Adrian Lienhard -
Bill Schwab -
Stéphane Ducasse