For those who care, my opinions on this subject:<br><br>
1) I once proposed the idea of pipes (I don't like the name pipe and didn't use it)<br>
so I am obviously biased in favor of pipes and am confident that, <br> once implemented, pipes will gain popular acceptance. <br> Nevertheless, I think it would be irresponsible to just add pipes to Squeak. <br>
I suggest, instead, that the next release of Squeak be paired with<br>
an experimental version containing pipes that people can play with.<br> The experimental version release will be delayed by the amount of time<br> needed to implement the pipe operator and use it in a few conspicuous places.
<br><br>2) I am not worried about Squeak becoming too different <br> from other versions of Smalltalk.<br> If the pipe operator is as successful as I expect it to be then the other versions <br> of Smalltalk will eventually adopt it as well. Then this issue will go away.
<br> In fact, perhaps this discussion should be occurring with <br> the entire Smalltalk community.<br><br>3) I am against the use of ;; as the pipe operator.<br>
It will have all the same problems as = vs. == in C.<br>
; and ;; are similar enough to be mistyped and it will be difficult to<br>
find the problem once the typo is made.<br>
I much prefer :: or even :-:.<br>
Beginners may have problems remembering which is which between ; and ;;.<br>
<br>
4) I think we need to review the current code in Squeak to find examples <br> where the pipe operator can be used. <br> One should note that this is not simply a matter of finding places<br>
where lots of parentheses are used. <br> Often, instead, the coder has avoided using excessing parentheses <br> by introducing temporary variables.<br>
Thus, there may be places in the code where:<br><br>
| a b c ... |<br>
...<br>
a := expression1.<br>
b := a expression2.<br>
c := b expression3<br>
<br>
can be replaced by:<br>
<br>
| c ... |<br>
...<br>
c := expression1 <br>
:-: expression2<br>
:-: expression3.<br><br>Finding all the places where such code can be cleaned up will not be easy and have<br>to be done gradually once the pipe operator has been accepted.<br><br>
5) I don't like the 'then' or 'and_then' name for the pipe operator. <br>
To me these names sound more appropriate for the cascade operator.<br>
How about 'ForwardResult' or 'ForwardResultTo' or just 'ForwardTo'<br>
as the name for the operator. Too bad we can't use 'Cascade'.<br><br>Ralph Boland<br>
<br><br><br><br>
<br>