[MLton] Few problems with porting...

Anoq of the Sun anoq@HardcoreProcessing.com
Sat, 15 Nov 2003 16:59:38 +0200


Hello!


I have encountered a few problems when trying to compile
a new native version of MLton from the latest CVS
with and without my own current MinGW changes.

When compiling a native MLton I get:

...
         closureConvert finished in 10.57 + 8.56 (45% GC)
         closureConvertSimplify starting
            checkScopes starting
            checkScopes finished in 1.74 + 0.71 (29% GC)
            removeUnused1 starting
            removeUnused1 finished in 0.54 + 3.64 (87% GC)
            leafInline starting
            leafInline finished in 0.10 + 1.31 (93% GC)
            contify1 starting
            contify1 finished in 0.09 + 0.00 (0% GC)
            localFlatten1 starting
            localFlatten1 finished in 0.08 + 0.00 (0% GC)
            constantPropagation starting
            constantPropagation raised in 0.07 + 0.00 (0% GC)
         closureConvertSimplify raised in 3.56 + 6.43 (64% GC)
      pre codegen raised in 57.86 + 60.66 (51% GC)
   Compile SML raised in 57.86 + 60.66 (51% GC)
MLton raised in 57.94 + 60.66 (51% GC)
main_0: loopTransfer: sub_0 (x_0) NonTail {cont = L_0, handler = Handle L_1}: coerces length mismatch: returns

I was able to compile the MLton from CVS at 2003-11-08 11:09, but now
that I did a CVS update I get this. It's the same if I do a fresh
checkout in a new directory (without changing anything).

Also another issue I have: I'm using SML/NJ 110.0.7 - and as far as I'm
aware (I could be wrong though?) this is the latest "stable" version.
So the problem I have is that I can't use bin/check-basis
Is there a known way to use this with SML/NJ 110.0.7?

At least CM.Control does not exist in 110.0.7. I found CM.Control.verbose
as CM.verbose - but it takes a bool option instead of just a bool.
I'm not even sure if it's supposed to be the same function.


Otherwise - it doesn't seem too hard to do the port (but OK - let's
see it running first ;) It seems that the MLton code has changed in
subtle ways to make this porting easier. Also looking at the Cygwin
stuff is helpful.


Cheers
-- 
http://www.HardcoreProcessing.com