Исключение во время выполнения при попытке печати символа Юникода
Char
тип для символов Юникода в Haskell, иString
это просто[Char]
(то есть списокChar
Предметы). Вот простой код:
main = putStrLn "©" -- Unicode string
Этот код компилируется нормально, но я получаю исключение времени выполнения, когда запускаю его вPowerShel.exe или жеcmd.exe:
app.exe:: commitBuffer: неверный аргумент (недопустимый символ)
Почему это происходит? Как ни странно, когда я делаю то же самое в C #, я не получаю исключения:
Console.WriteLine("©");
В .NET символы тоже Unicode.PowerShell или жеCMD печатьc
вместо©
Но, по крайней мере, я не стал исключением. Как я могу заставить мой исполняемый файл Haskell работать гладко?