Read Char instance, for [Char], and ['a', 'b'] syntax
Haskell 98, in section 10.4, states:
readsPrec will parse any valid representation of the standard types apart
from strings, for which only quoted strings are accepted
hugs follows this:
Hugs.Base> read "['a', 'b']" :: String
"
Program error: Prelude.read: no parse
while GHC ignores it:
Prelude> read "['a', 'b']" :: String
"ab"
The GHC libraries source shows that this is a wilful variation from H98:
readListPrec =
parens
( do L.String s <- lexP -- Looks for "foo"
return s
+++
readListPrecDefault -- Looks for ['f','o','o']
) -- (more generous than H98 spec)
I do not see the point of this inconsistency, so I believe we should consider changing it for Haskell'.
Trac metadata
Trac field | Value |
---|---|
Version | |
Type | Task |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | HaskellPrime |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |