<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman, new york, times, serif;font-size:12pt"><DIV style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman, new york, times, serif"><BR><BR>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman, new york, times, serif">----- Original Message ----<BR>From: Igor Stasenko <siguctua@gmail.com><BR>To: The general-purpose Squeak developers list <squeak-dev@lists.squeakfoundation.org><BR>Sent: Thursday, August 30, 2007 11:15:14 AM<BR>Subject: Re: Pipe syntax and the current methods<BR><BR>
<DIV>> On 30/08/2007, Yoshiki Ohshima <yoshiki@squeakland.org> wrote:<BR>> > Hello,<BR>> ><BR>> > > Since Pipes makes Smalltalk better at prototyping, Pipes gives me a sharper pencil.<BR>> ><BR>> > I think I know a part of your frustration. When you are trying make<BR>> > the idea rendered into the first cut of code, you really don't want to<BR>> > move the cursor back in the characters you typed and insert some other<BR>> > stuff just to make it compile and do something.<BR>> ><BR>> > Another approach to solve this problem is to make the editor<BR>> > smarter. I could imagine to have a some command-key sequence that<BR>> > puts open and close parenthesis around the *last* expression. The<BR>> > definition of the "last" expression may need a clarification but it<BR>> > almost sounds like
"right before the last statement separater ($.)"<BR>> > would be good. With it, if you type:<BR>> ><BR>> > aCollection select: [:each | each isSomething]<BR>> ><BR>> > and then realize that you actually want to continue to write collect:,<BR>> > then you press a key combination and it enclose the above expression<BR>> > with $( and $). In this way, you don't have to change the language.<BR>> ><BR>> > For this kind of stuff, having three different precedence in message<BR>> > sending is basically two too many. That is why the lisp-mode in Emacs<BR>> > shines more than any other modes. But for Smalltalk-80 syntax, it<BR>> > wouldn't be too bad.<BR>> ><BR>> <BR>> And then the only thing you need is to implant a chip into your brain<BR>> to be able read code with many (...) fast :)<BR><BR>You already have
one of those chips. They call that your nose and it is for smelling nasty, nasty code smells. It doesn't matter if you are using () or |, they both smell when used excessively. Refactor! </DIV>
<DIV> </DIV>
<DIV>Do something crazy like defining a StackFilter, where you can push expressions into a stack and apply it to an underlying collection. It would compute the filtered value whenever the underlying collection changes. Something like this would be a more OO approach, I would think. Think like an object and not a function. :)</DIV>
<DIV> </DIV>
<DIV>cheers,</DIV>
<DIV>Rob</DIV></DIV></DIV></div></body></html>