On Fri Mar 07 23:08:14 2008, songmaster wrote:
> On Tue Feb 05 13:41:02 2008, [EMAIL PROTECTED] wrote:
> > The fix is straightforward, but this change should also be made in
> > STD.pm.  This fixes RT #49910.
> 
> This patch would make 3e-4 a valid integer literal, even though it's not
> an integer.  Now 300e-2 *is* a whole number, but I'm not sure it should
> be accepted as an integer literal.

STD.pm has since been updated to have the correct parsing -- the answer
is that an integer literal never has a dot or 'e'.

In r26812 I've just updated rakudo to match STD.pm, so this ticket can
be closed.

> This is part of the question of what distinguishes an integer from a
> floating point number; it can't just be the presence of a decimal point
> as the above examples show, but S02 isn't specific.  [...]
> Here are a few examples that need answers from the language lawyers:
>   .1    Legal, or is a leading 0 required?
>   1e1   Integer or Float?
>   1e-1  Integer or Float?
>   10e-1 Integer or Float?
>   .1e1  If legal, Integer or Float?
>   1.e1  Legal?

Just for completeness:

   .1     Not a legal number (leading digit required)
   1e1    Float
   1e-1   Float
   10e-1  Float
   .1e1   Not a legal number (leading digit required)
   1.e1   Not a legal number (digits required after dot)

Closing ticket, thanks!

Pm

Reply via email to