[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.