> > why do we have to give up a space when calling functions under Pugs?
>
> >> Not sure whether it's enough of an answer, but see:
> >> http://dev.perl.org/perl6/doc/design/syn/S04.html#Statement_parsing
>
> it says:
>
> if $term ($x) # syntax error (two terms in a row)
>
> if this cause an error, why not treat '$term ($x)' as a function call.
> At least when $term is not some abstract variable but valid name of simple
> function.
(I have nothing to do with the design process, so this is just my take on it)...
I get the impression that driving these sort of decisions, is the
historical problem we've had with only `perl` being able to parse
Perl.
Syntax is getting tightened up a little, with the result that perl6
programs are much more easily read, with the intention of allowing
different compiler implementations.
Also, we can only know if $term contains a valid subroutine name at
runtime, and perl6 aims to allow very separate compilation and runtime
phases (and syntax errors need to be figured out at compilation time).
Carl