[MLton] MinGW + x86_64

Matthew Fluet fluet@cs.cornell.edu
Wed, 10 May 2006 15:44:58 -0400 (EDT)


> Error: ..\lib\mlton\basic\vector.sml 10.29.
>  Variable type in structure disagrees with argument signature.
>    variable: unfoldi
>    structure: _ -> [ 'a t ]
>    signature: _ -> [ 'a t  * 'b ]
>
> ... I am guessing this is due to a broken upgrade path? However, I don't 
> have this problem on the MacOS build. I'm using mlton 20051109 on MacOS 
> and MLton 20051202 on MinGW.

Its a broken upgrade path on MinGW.  If you look at mlton/Makefile, there 
is code to select stubs when compiling with an out of date compiler. 
However, the stubs don't work with MinGW.  You could hand propagate the 
changes to basis-library/mlton/vector.{sig,sml} into your 20051109 
install.

> Also, Matthew, are you planning to fix/change the signedness issue for 
> c-types.ml? Obviously, I could hack this, but it seems you have some larger 
> vision about how the types are supposed to be inferred from the system.

I do plan on fixing the signedness issue for the use of C-types in the 
Basis Library, although it probably won't be this evening.

I believe that the c-types.sml files are being generated properly -- 
namely, with the sizes and signedness of the target system.  So, people 
should feel free to check in
   basis-library/config/c/$(TARGET_ARCH)-$(TARGET_OS)/c-types.sml

The 'vision' is to develop a signature of operations that may be applied 
to C integer types, which, like C, applies to types of any signedness.