Visually, I interpret ":a" as a token unto itself, though that's probably Ruby's fault. That interpretation would man that the dual-whitespace version would have to be an indirect object.
I would argue for disallowing the all-jammed-together case, lest we run into longest-match arguments where "foobar:baz" is "foobar: baz" but "foo:barbaz" is "foo :barbaz". Yuck. On 7 Oct 2007 12:22:56 -0000, Markus Laker <[EMAIL PROTECTED]> wrote: > If I've got this right: > > mangle $foo :a; # mangle($foo, a => 1); > mangle $foo: a; # $foo.mangle(a()); > > So these -- > > mangle $foo:a; > mangle $foo : a; > > are ambiguous and, as far as I can tell from the synopses, undefined. So > what's the rule: that indirect-object colon needs whitespace after but not > before, and adverbial colon needs whitespace before but not after? > > The reason I ask is that I'm knocking up an intro to Perl 6 for C and C++ > programmers. I expect some of Perl 6's whitespace rules to trip up people > used to C++ (as they have me, in my clumsy attempts with Pugs), and I'd > like to summarise all the whitespace dwimmery in one place. > > Many thanks, > > Markus > -- Mark J. Reed <[EMAIL PROTECTED]>