On Mon, Nov 25, 2002 at 10:06:13AM -0800, Michael Lazzaro wrote:
: With clarifications, and additional syntactic edge cases.
: 
: The last remaining known "numeric literals" issue is whether we want to 
: allow '.' in explicit radix, e.g. 10#1.234, or whether we want to 
: disallow it as being Way Too Creepy.  This version assumes that '.' is 
: allowed, but exponential notation is _not_, due to ambiguities with 'E'.
: 
: 
: --- Numeric Literals ---
: 
: decimal notation:
:     0123       # int 123   (not octal!)
Probably illegal in early Perl 6.  Can perhaps allow it later.

:     -123       # int -123  (but - is operator, not part of num)

Works because of constant folding.

:    0.1.1       # WRONG, can have only one decimal point

Is a v-string.

:    .1          # WRONG; looks like method call on $_
:    -.1         # WRONG, looks like method call on $_

Both legal, as in Perl 5.  There are no numeric method calls, and
if there are you can always do them by indirection:

    $meth = "1";
    $foo.$meth()

: - explicit radix form may have radix point, '.',
:     but cannot use exponential notation ('e')

Note that this is not a great hardship, since constant folding should
fix up things like

    20#1.1 * 1e5
    20#1.1 * 20**13

Larry

Reply via email to