text-2.1: scripts/CaseFoldExceptions.hs
-- Generates exceptions for tests/Tests/Properties/Text.hs
-- runghc CaseFoldExceptions.txt
import qualified Data.Char
import Data.List
import qualified Data.Text as T
toCaseFoldExceptions :: String
toCaseFoldExceptions = filter (\c -> c `notElem` (cherokeeUpper ++ cherokeeLower)) $
filter (\c -> T.toCaseFold (T.singleton c) /= T.singleton (Data.Char.toLower c))
[minBound .. maxBound]
cherokeeUpper = ['\x13A0'..'\x13F7'] -- x13F8..13FF are lowercase
cherokeeLower = ['\xAB70'..'\xABBF']
main :: IO ()
main = print toCaseFoldExceptions