Skip to content

The `Read` instance of `Rational` does not support decimal notation

main = print (1.10 :: Rational)

is legal whereas

main = print (read "1.10" :: Rational)

fails at runtime with "Prelude.read: no parse"

The same applies to "1E10", but the e-notation should be rejected in both cases (see #7044)

Trac metadata
Trac field Value
Version 7.4.2
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related #7044
Blocking
CC
Operating system
Architecture
Edited by Christian Maeder
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information