| GHC is oddly particular about decimal points in "read"-ing in 
| of Doubles in scientific notation. It seems that read 
| "3.0e-06" is acceptable but read "3e-06" is not (both read 
| "3" and read "3.0" work fine as Doubles). It's the same in 
| nhc and hugs. Perhaps this is some standard somewhere that 
| Perl doesn't understand?

It's true about the Haskell language too, and that's why it's true of
Read.  The lexical syntax says that

        10e3

means

        10 e3

(i.e. two lexemes).   I don't like this choice, and it could be "fixed" 
in the Revised H98 report.  The current production for float is

        float  ->  decimal . decimal[(e | E)[- | +]decimal] 

I guess we could change that to 

        exponent -> (e|E) [+|-] decimal

        float -> decimal . decimal [exponent]
                 |   decimal exponent

It's an unforced change and therefore to be regarded with
deep suspicion. I'd be interested in people's views about this.

Simon



_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to