On Aug 25, 2007, at 11:30 PM, Ramon Leon wrote:
As observation..
This discussion is a good example of purists who throwing away any new ideas just because they 'don't follow standard' or 'can be done with current syntax'.
Honestly I see no harm in adding a pipe '|' symbol as a special syntax symbol, like cascade ';' or period '.' A pipe is like continuation which simply does: evaluate expression to the left, then continue evaluation with expression to the right, taking left result as receiver. We need only minor changes to parser to add this syntax sugar, and no changes in complier because it don't breaks old syntax or message passing semantics.
It's a good idea, the pipe, but not necessarily a well thought through implementation. As Tim and Has point out, | is already used in several places in the image and using it for special syntax for the pipe would cause problems with existing code. As Hans mentions, there's also the issue of portability to other dialects.
Fabio's proposal to hijack ; for a pipe operator is obviously a non starter, he clearly doesn't understand how much Smalltalk code relies on ;.
I was a bit provocative because, I don't like the cascade and wanted to show that you most of the time you could do with out it ... getting more out of smalltalk ...
The way to get past the purists isn't by argument, it's by showing them an implementation that works, and addresses their concerns. A working implementation is the difference between some who's serious about an idea and someone who's just complaining.
As I said I'll see what I can do about that.
It's easy to point at the old timers and blame them for blocking progress, it's much harder to do something that would actually be considered progress.
Please, this is really unfair. Nobody ever blamed anybody. We are just having a good chat. My point was : the cascade operator sucks the pipe rocks, and I've shown IMHO why it's better. And I love any critic I can get.
Fabio Filasieno