Skip to content

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
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information