[MLton] cvs commit: exposed the types of {Int,Word}{8,16,32,64} using where

Matthew Fluet fluet@cs.cornell.edu
Mon, 17 Nov 2003 09:29:27 -0500 (EST)


>   They need to be exposed so that constants can be overloaded at these
>   types.  This fixes the problem that Matthew saw with overloaded
>   constants not being resolved correctly.

I think that the Basis spec is still ambiguous about the following point,
but I feel that the following should not type-check:

val f = LargeInt.~ o IntInf.~
val x = (LargeInt.fromInt 1) + (IntInf.fromInt 1)

As was pointed out before, this seems to arise because we need the opaque
signature matches further back in the basis implementation.