Some time ago, I implemented some horrible hacks to make HERMIT work on Windows. After revisiting them, I've realized there's a better way to do it.
I've removed the entire src/HERMIT/Win32 portion of the codebase, as I've compartmentalized their functionality into two other libraries:
code-page: This provides a withCP65001 function that performs some IO action in codepage 65001 on Windows (i.e., in UTF-8). This removes the need for HERMIT.Win32.IO.
echo: This provides a minTTY utility that tells you if you're executing in a MinTTY console like Cygwin or MSYS2. This is far more accurate than the current buggy approximation in HERMIT.Win32.Console to boot.
So overall, this mostly deletes code, which is nice.
Oh yeah, the tests also pass on Windows now, so this fixes #102!
Some time ago, I implemented some horrible hacks to make HERMIT work on Windows. After revisiting them, I've realized there's a better way to do it.
I've removed the entire
src/HERMIT/Win32
portion of the codebase, as I've compartmentalized their functionality into two other libraries:code-page
: This provides awithCP65001
function that performs someIO
action in codepage 65001 on Windows (i.e., in UTF-8). This removes the need forHERMIT.Win32.IO
.echo
: This provides aminTTY
utility that tells you if you're executing in a MinTTY console like Cygwin or MSYS2. This is far more accurate than the current buggy approximation inHERMIT.Win32.Console
to boot.So overall, this mostly deletes code, which is nice.
Oh yeah, the tests also pass on Windows now, so this fixes #102!