Getting double semi as sequencer harvested.

Ralph Boland rpboland at gmail.com
Mon Sep 3 15:35:02 UTC 2007


For those who care, my opinions on this subject:

1) I once proposed the idea of pipes (I don't like the name pipe and didn't
use it)
    so I am obviously biased in favor of pipes and am confident that,
    once implemented, pipes will gain popular acceptance.
    Nevertheless, I think it would be irresponsible to just add pipes to
Squeak.
    I suggest, instead, that the next release of Squeak be paired with
    an experimental version containing pipes that people can play with.
    The experimental version release will be delayed by the amount of time
     needed to implement the pipe operator and use it in a few conspicuous
places.

2)  I am not worried about Squeak becoming too different
     from other versions of Smalltalk.
     If the pipe operator is as successful as I expect it to be then the
other versions
     of Smalltalk will eventually adopt it as well.  Then this issue will go
away.
     In fact, perhaps this discussion should be occurring with
     the entire Smalltalk community.

3) I am against the use of  ;;  as the pipe operator.
    It will have all the same problems as  = vs. == in  C.
    ;  and ;;  are similar enough to be mistyped and it will be difficult to
    find the problem once the typo is made.
    I much prefer  ::  or even  :-:.
    Beginners may have problems remembering which is which between ;  and
;;.

4) I think we need to review the current code in Squeak to find examples
    where the pipe operator can be used.
    One should note that this is not simply a matter of finding places
    where lots of parentheses are used.
    Often, instead, the coder has avoided using excessing parentheses
    by introducing temporary variables.
    Thus, there may be places in the code where:

     | a b c ... |
    ...
    a := expression1.
    b := a expression2.
    c := b expression3

can be replaced by:

    | c ...  |
   ...
   c :=  expression1
      :-:  expression2
      :-:  expression3.

Finding all the places where such code can be cleaned up will not be easy
and have
to be done gradually once the pipe operator has been accepted.

5) I don't like the  'then' or  'and_then'  name for the pipe operator.
    To me these names sound more appropriate for the cascade operator.
    How about   'ForwardResult' or 'ForwardResultTo' or just 'ForwardTo'
    as the name for the operator.  Too bad we can't use 'Cascade'.

Ralph Boland
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20070903/44306799/attachment.htm


More information about the Squeak-dev mailing list