On Sat, Apr 29, 2006 at 05:15:08PM +0200, Juerd wrote: : Larry indicated that changing the long dot would have to involve : changing the first character. The only feasible solution in the "tiny : glyphs" section was the backtick. I refrain from explaining why that : will widely be considered a bad idea.
"Only feasible"? I think you guys give up too easily. I believe either or both of ¬ or \ qualify as feasible, actually: $xyzzy.foo(); $fooz\.foo(); $foo\ .foo(); $xyzzy.foo(); $fooz¬.foo(); $foo¬ .foo(); Neither of those are currently legal in infix position. The backslash has the advantage of "hiding" semantics, so it would mean "hide any whitespace before the next dot (including no whitespace)". The NOT operator can have similar semantics "Here is some *not* whitespace." Actually, there is a postfix \(...), but that wouldn't interfere with a \. construct. Visually you'd never use \. in a place where there weren't also longer dots, so there's surrounding context indicating that \ is not trying to backslash the dot itself. Alternately, as with French quotes, the ¬ could be the primary form, and \ (or something like it, -| maybe) would be the Texas version. Backslash also has the advantage of making sense to a C programmer: $foo\ .foo(); even though it has been generalized to quote any whitespace, not just newline, so that $foo\ # comment .foo(); works. So of course the $foo\#[ comment ].foo(); also would work if you want more visual distinction on both ends of the whitespace. Larry