MLton runs on the Cygwin emulation layer, which provides a Posix-like environment while running on Windows. To run MLton with Cygwin, you must first install Cygwin on your Windows machine. To do this, visit the Cygwin site from your Windows machine and run their setup.exe script. Then, you can unpack the MLton binary tgz in your Cygwin environment.

To run MLton cross-compiled executables on Windows, you must install the Cygwin dll on the Windows machine.

Known issues

  • Time profiling is disabled.

  • Cygwin’s mmap emulation is less than perfect. Sometimes it interacts badly with Posix.Process.fork.

  • The socket.sml regression test fails. We suspect this is not a bug and is simply due to our test relying on a certain behavior when connecting to a socket that has not yet accepted, which is handled differently on Cygwin than other platforms. Any help in understanding and resolving this issue is appreciated.

Also see