Re: [GHC] #11632: Data.Char repeated readLitChar barfs on output from show "ó1"
GHC
ghc-devs at haskell.org
Sat May 7 20:57:44 UTC 2016
#11632: Data.Char repeated readLitChar barfs on output from show "ó1"
-------------------------------------+-------------------------------------
Reporter: inversemot | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: libraries/base | Version: 7.10.3
Resolution: | Keywords: newcomer
Operating System: Linux | Architecture:
Type of failure: Incorrect result | Unknown/Multiple
at runtime | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Changes (by thomie):
* keywords: => newcomer
Comment:
inversemot: what should `lexLitChar "\\243\\&1"` return in your opinion:
1. unchanged
`[("\\243","\\&1")]`
2. consume the `\\&1`
`[("\\243","")]`
3. consume and include the `\\&1`
`[("\\243\\&1","")]`
I suppose option 2.
For a newcomer: I think you'll want to either change the function
`lexChar` in the file `libraries/base/Text/Read/Lex.hs`, and/or the
functions `lexLitChar` and `readLitChar` in `libraries/base/GHC/Read.hs`.
* Why not change the function `lexCharE`? Because it is used by the
function `lexLitChar`, which lexes a character surrounded by single
quotes, but `'x\&'` isn't a valid character (maybe it should be? It would
simplify things.). Also note that the function `lexString` handles `\&` by
itself in `lexEmpty`.
Don't forget a [wiki:Building/RunningTests/Adding test] and
[wiki:WorkingConventions/FixingBugs submit] your patch to Phabricator.
For reference, the
[https://www.haskell.org/onlinereport/haskell2010/haskellch2.html#x7-200002.6
Haskell 2010 report] has this to say:
> The escape character \& is provided as a “null character” to allow
strings such as "\137\&9" and "\SO\&H" to be constructed (both of length
two). Thus "\&" is equivalent to "" and the character '\&' is disallowed.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11632#comment:5>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list