Damian Conway wrote:
Juerd wrote:
> Audrey cleverly suggested that changing the second character would also
> work, and that has many more glyphs available. So she came up with
>
>> and propose ".:" as a solution

>     $xyzzy.:foo();
>     $fooz. :foo();
>     $foo.  :foo();

This would make the enormous semantic difference between:

        foo. :bar()

and:

        foo  :bar()

depend on a visual difference of about four pixels. :-(

We've strived to eliminate homonyms from Perl 6. I'd much rather not introduce
one at this late stage.

Is there a reason that we've been insisting that a long dot should use
whitespace as filling?

To me, "foo.   .bar" shares a common problem with "foo.   :bar" - in
both cases, my gut instinct is to consider "foo" and "bar" to be
separate entities, disconnected from each other - quite the opposite
of what's intended.  OTOH, this problem would go away if the filler
was primarily, say, underscores:

 foo._______.bar

or

 foo._______:bar

visually look like foo and bar are attached to each other.

Of course, without any sort of whitespace, there would be no way for a
long dot to span lines; so you might want to allow newline characters
as well.  But then, you run into problems such as:

 foo.____
 ___.bar

being illegal, because the second line contains leading whitespace characters...

Perhaps you would be best off allowing both whitespace characters and
underscores as filler, and strongly suggesting that whitespace only be
used to span lines: by convention, the only whitespace that ought to
be used in a long dot would be something that matches /\n\s*/.

With this in place, the distinction would be between

 foo.____:bar

and

 foo       :bar

...very easy to distinguish.

--
Jonathan "Dataweaver" Lang

Reply via email to