It seems that io functions like putStrLn
not support putting all unicode characters like:
1.OtherSymbol
,like emoji
ghci> putStrLn "🏅"
*** Exception: <stdout>: hPutChar: invalid argument (invalid character)
ghci> putStrLn "🥰"
*** Exception: <stdout>: hPutChar: invalid argument (invalid character)
ghci> import Text.Unicode
2.Some Math Symbol
like exist
,sum
:
ghci> putStrLn "⅀"
*** Exception: <stdout>: hPutChar: invalid argument (invalid character)
ghci> putStrLn "∃"
*** Exception: <stdout>: hPutChar: invalid argument (invalid character)
3.Modifier Letter
,like small modifier letter ʲ
ghci> putStrLn "ʲ"
*** Exception: <stdout>: hPutChar: invalid argument (invalid character)
ghci> putStrLn "ʰ"
*** Exception: <stdout>: hPutChar: invalid argument (invalid character)
ghci> putStrLn "ᵂ"
*** Exception: <stdout>: hPutChar: invalid argument (invalid character)
ghci> putStrLn "ꓽ"
*** Exception: <stdout>: hPutChar: invalid argument (invalid character)
4.Some Other Letter
,like jeem
:
ghci> putStrLn "ج"
*** Exception: <stdout>: hPutChar: invalid argument (invalid character)
5.Titlecase Letter
,like:
ghci> putStrLn "Dž"
*** Exception: <stdout>: hPutChar: invalid argument (invalid character)
…others I haven’t test
I have searched for base
's documents,but haven’t found the answers.Does someone have some ideas or reference to offer?