[MLton] Building MLton

Vesa Karvonen vesa.karvonen@cs.helsinki.fi
Mon, 4 Jul 2005 18:36:21 +0300


Wesley W. Terpstra:
> > If you want to manipulate at least 64-bit integers you should be using
> > (unsigned) long long int.

> You should use uint_least64_t actually.

Or [u]int_fast64_t. Each of the three integer types ([unsigned] long
long int, [u]int_least64_t and [u]int_fast64_t) has at least 64-bits,
but may have more.

> But... I think this whole discussion misses the point that the MLton
> compiler does it's own data layout. It doesn't use C's types except at
> interface boundaries. So, using a portable C type is not helpful.

Yes, although using the right typedef for the job might reduce
(eliminate?) the need for per platform configuration of the compiler.

At any rate, (plain) (unsigned) long should (only) be used when you
specifically need an integer type that is at least 32-bits, which was
the point I was getting at.

-Vesa Karvonen