Excepción en tiempo de ejecución al intentar imprimir un carácter Unicode
Char
es el tipo de caracteres Unicode en Haskell yString
es simple[Char]
(es decir, una lista deChar
artículos). Aquí hay un código simple:
main = putStrLn "©" -- Unicode string
Este código se compila bien, pero obtengo la excepción de tiempo de ejecución cuando lo ejecuto en elPowerShel.exe ocmd.exe:
app.exe:: commitBuffer: argumento no válido (carácter no válido)
¿Por qué pasó esto? Extrañamente, cuando hago lo mismo en C #, no obtengo ninguna excepción:
Console.WriteLine("©");
En .NET, los caracteres también son Unicode.Potencia Shell ocmd huellas dactilaresc
en lugar©
, pero al menos no obtengo excepción. ¿Cómo puedo hacer que mi ejecutable Haskell funcione sin problemas?