Mark J. Reed wrote:
Doesn't unspace work for this?


It would seem that S02 says otherwise:

Although we say that the unspace hides the whitespace from the parser, it does not hide whitespace from the lexer. As a result, unspace is not allowed within a token.

So, assuming that an integer literal at least, and maybe also an angle dwimmery, is a single token, then that wouldn't work.

If unspace did the job, I should be able to say this:

  my $foo = 3.1415926535897\
    93238462643383279;

or:

  my $foo = 3.1415926535897\ 93238462643383279;

and it would be interpreted the same ways as if I said:

  my $foo = 3.141592653589793238462643383279;

Now I think there are good reasons for unspace not being allowed in a token, in which case we'd need some other syntax for the continuation marker that I want.

As for supporting long rational literals expressed as X/Y, I can live with being required to say "(136\ 5634/42442\ 555)" and depend on constant folding rather than "<136\ 5634/42442\ 555>" doing the same, if that would make things easier.

However, the likes of this needs to work:

  my $bar = :8<55084\ 4222\ 7677>;

... same as this does:

  my $baz = 564345\ 242432;

Thank you.

-- Darren Duncan

Reply via email to