[MLton] HOL on MLton

Stephen Weeks MLton@mlton.org
Sun, 11 Jan 2004 16:38:34 -0800


> I've immediately run into a problem with MLton.IntInf. From the
> signature, I can't see any way to construct an element of type
> MLton.IntInf.int! MLton 20030716 included IntInf in the signature,
> giving access to the fromInt function, but MLton 20040106 doesn't
> appear to do this (from the documentation). Bug?

Not a bug.  I took out the stuff in the MLton structure that
overlapped with the basis library; however, the types MLton.IntInf.int
and IntInf.int still share.  You can see this by looking at the output
of -show-basis true, which includes the following

structure IntInf:
   sig
      type int = IntInf.int
...
structure MLton:
   sig
...
      structure IntInf:
	 sig
	    type int = IntInf.int
...

From this, you can read that the types are the same.  You could also
use a small program to confirm this.

	val _: IntInf.int -> MLton.IntInf.int = fn i => i

> BTW, the HOL4 developers would like to move to the new basis library,
> but we can't do anything until Moscow ML supports it.

I hope this doesn't become too much of a problem.  I have no idea what
the upgrade plans and timetable for Moscow ML are.  In all
seriousness, what features is MLton missing that make it impossible to
switch over to it completely?  Is it the lack of a byte-code compiler?
Something else?  I understand it may not be feasible to do in the
short term, but it will help our long term plans if we understand
what's missing from MLton.  Thanks.