TSA wrote: > I *still* don't understand the problem this long dot is trying > to solve. It's trying to solve the fundamental ambiguity of: foo .bar Which might be: foo().bar or might be: foo(.bar) The way we solved it is by saying that, anywhere a term is expected, a sequence matching: /\s+ \. [<ident>|<brackets>]/ is always a unary dot method call. The reason we chose that is because we think that things like this: method describe { say .name; say .rank; say .serial_num; } and this: given %data { .<name> = join .<sep>, ucfirst .<first>, uc .<family> } will be common. And that it's much easier to understand such constructs if a "gappy dot" *always* means unary dot, regardless of what preceded it. That leaves a problem for people who want to line up method calls, or cascade them over multiple lines. So we need a way to indicate that a "gap-dot" doesn't mean unary method call. Which means we need a way to prevent perl6 from expecting a term, where a term is normally expected. Which we chose to do by providing a postfix that indicates "more expression to come yet" or "don't switch back to expecting a term here". And the postfix Larry decided upon (rightly, I believe) was dot. DamianThread Previous