[MLton] MinGW hosted MLton
Stephen Weeks
MLton@mlton.org
Mon, 2 May 2005 12:21:30 -0700
> 0. 'wait' is reported unused by MLton, but if removed it fails to
> build
That it is unused makes sense, because, you removed the only use when
you changed the definition of OS.Process.system. It fails to build
because the signature constraint OS_PROCESS_EXTRA requires wait. This
is clearly no longer needed, so I took wait out of the signature, and
things compile fine.
> 1. MLton crashes when compiling mllex and mlyacc
> (compile log with -verbose 3 attached)
...
> I have no idea what's wrong during pass 'convert'.
I also can't tell anything from the logs.
> 2. 'mllex mlb.lex' says:
> no files
> Usage: mllex file.lex ...
>
> 3. 'mlyacc ml.grm' says:
> too many files
> Usage: mlyacc file.grm
These indicate that mllex/mlyacc is being called with no files. No
idea what's going wrong here -- I'm not even clear what executable is
being run.
I've committed your patch with a few tweaks. I liked the idea of
moving wait from OS.Process into Posix.Process. I have a couple of
questions though.
* In the definition of OS.Process.system, why do you think it's OK to
remove the signal handler stuff that causes SIGINT and SIGQUIT to be
ignored? In all honesty, I don't know why it was there, except that
it was probably inherited from SML/NJ. But not knowing makes me
hesitant to remove it.
* In main.fun, you changed the default MinGW temp directory from
"C:/WINNT/TEMP" to "C:/WINDOWS/TEMP". This seems like a better
choice because it will work on more machines, although I wonder if
there isn't a more portable (across versions of Windows) solution.