The isUpper function should return true for the '\9438' character
λ> toLower '\9438'
'\9438'
λ> toUpper '\9438'
'\9412'
λ> isUpper '\9438'
False
λ> isLower '\9438'
False
Here we can observe a contradiction. The toLower
function does not alter its argument, but toUpper
does, which tells us that the character 1) has the notion of case 2) it must be lower-cased. On the other hand, both isUpper
and isLower
functions return False
for \9438
suggesting that it has no notion of case.
Apparently, \9438
is lower-cased and \9412
is its upper-cased version indeed:
λ> putStrLn "\9438"
ⓞ
λ> putStrLn "\9412"
Ⓞ
Trac metadata
Trac field | Value |
---|---|
Version | 8.2.1 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | libraries/base |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |