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

Reply via email to