Getting double semi as sequencer harvested

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Getting double semi as sequencer harvested

Jerome Peace
Getting double semi as sequencer harvested.



Hi All,

This thread has gotten long and diverse.

It would help if those who are talking about traits
branch that topic off to its own thread.

I do want to point out that the context of my original
post was that it was a cc’ed copy of a note sent to
vassili asking for his help in preparing the sequencer
for harvesting. Without at least that much effort, the
nays have the day by default.

Then it is up to finding an amenable release team (or
not).

I am following thru on this because

1) As Ramon points out in:
http://lists.squeakfoundation.org/pipermail/squeak-dev/2007-September/120076.html

It seems to have Alan Kay’s blessing. Alan is one of
the few certifiable geniuses amoung us. His opinions
count with me more than many. If he had wanted squeak
to remain static I would have thought no further about
it.

2) I am curious to try it. There are several
annoyances that it may halt.

I long to write:

1 to: 10 ;; collect: [ :each |
                each square ] ;; explore .

on the fly.

And yes,
 
squares :=
 ( 1 to: 10 ) collect: [ :each | each square ] .
squares explore.

is nice too.

But choices are nicer.
 
3) Jason, my modest claim is that it will help me read
code more easily. This is a marginal improvement.
However, partial progress counts. And marginal
improvements count well in evolutionary matters.

4) If it turns out to prove harmful. Reversions are
possible. People clever enough to write asPipe can
certainly write as-if-pipe-never-existed.

Indeed, until a decompiler decides to use the new
sequencer it will disappear in decompiled code.

---- on the form double-semi

Several people in the pipe thread mentioned this
seemed “cleanest” to them.

For me it helps to remind me it is a sequencer similar
to semi for cascade.

On printout the indenting should provide the clue that
semi and double semi are different.

The indenting would be different for double semi
because it would be different if the syntactic sugar
were not there.

>From the (some what contrived*) example previously
used:

nonHermsOlderThanTensMothersNames :=
 lotsOfPeople selecting: [ :each  | each age > 10]
    ;; rejecting: [:each |each sex = #unknown ]
           ;; collecting:  [:each | each mother]
                ;; selecting: [:each | each notNil]
                      ;; collecting:  [:each | each name]
                                                                                     ;; asOrderedCollection

(It occurs to me between my word processor an the edit
non-abilities that come with the mail composer you may
not see things in the right fashion. imagine each ;;
indented one more tab stop).

contrast with

PolygonMorph new
        ; color: Color red
        ; borderColor: Color black
        ; borderWidth: 1 .


I suspect the flexibility of showing the code in this
alternate form will catch on. At least enough to
justify my effort and support behind it. That effort
is to talk about it a little here; and prepare it for
inclusion in an Alpha release image.

I ask all of you who have spoken positively to help
get this to the doorstep of inclusion. And those of
you who have spoken negatively to keep an open mind.

Yours in service and curiosity, --Jerome Peace


* in practice collecting some of this into temp
variables for readability would be good practice.


---------

“The difference between idiocy and genius is a matter
of time.
In the end few listen to idiocy.
In the beginning few listen to genius.”



       
____________________________________________________________________________________Ready for the edge of your seat?
Check out tonight's top picks on Yahoo! TV.
http://tv.yahoo.com/