
What version of GHC areyour students using? I believe sufficiently
recent versions of ghc (but I don't know which; this may require
9.2.1) have an RTS option to use a new I/O manager, which among other
things implements the widechar API for console I/O. The old I/O
manager does not support the widechar API, and the best that can be
done is the chcp hack.
On Fri, Nov 5, 2021 at 2:24 PM Julian Bradfield
Some of my poor misguided students are still using Windows, and when they run my (predecessor's) Haskell program which uses Unicode box drawing characters in its output, they get *** Exception <stdout>: hPutChar: invalid argument (invalid character)
Another student told them to change the console encoding via magic: chcp.com 65001
but a bit of googling suggests that a "modern Windows console program" should be using the widechar API to print Unicode and things should Just Work.
Does Haskell have a principled view about character encodings? Or does it just say "I do byte strings, it's the user's problem"?
Decades ago I was all in favour of charset-agnosticism, but these days I tend to think "go Unicode, and leave the legacy Latin-1 etc. data as the user's problem" :)
Julian.
-- The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336.
_______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.
-- brandon s allbery kf8nh allbery.b@gmail.com