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
