
#14589: The isUpper function should return true for the '\9438' character -------------------------------------+------------------------------------- Reporter: mrkkrp | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: | Version: 8.2.1 libraries/base | Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: None/Unknown Unknown/Multiple | Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- {{{ λ> 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" Ⓞ }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14589 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler