[MLton] Debian: sparc works

Stephen Weeks MLton@mlton.org
Wed, 22 Dec 2004 18:49:32 -0800


> I don't get why the existance of a 64*64->128 multiply implies the need for
> a 128 bit number in MLton.  I would just model the instruction as one whose
> type is
> 	Int64.int * Int64.int -> { high: Int64.int, low: Int64.int }

That's a fine high-level interface if you don't want to expose Int128.
But we want this for speed, so the question is how to represent the
corresponding primitive operation in MLton's ILs, in which primitives
return a single result which must be one of our primitive types
(i.e. not a tuple).  The easiest way to do that seems to have a
primitive Int128.int.