[MLton-devel] Re: finalization in MLton

Stephen Weeks MLton@mlton.org
Sun, 18 May 2003 15:15:16 -0700


> It seems odd to me that the type variable 'a can be used in the
> exception declaration without any binding occurence, but I don't
> have a copy of the Def. nearby to check if that's allowed.

The program is fine.  Free type variables variables are implicitly
scoped -- see section 4.6.  The program is the same as the following,
which explicitly binds 'a (and exhibits the same bug).

fun 'a value x =
  let
    exception WRAP of 'a
    fun getVal(WRAP x) = x
    val root = WRAP x
  in
    {value = root, getVal = getVal}
  end

> But, if the program is correct, then it would appear to be a bug in the
> type-inference pass.

Yep.  I am investigating.


-------------------------------------------------------
This SF.net email is sponsored by: If flattening out C++ or Java
code to make your application fit in a relational database is painful, 
don't do it! Check out ObjectStore. Now part of Progress Software.
http://www.objectstore.net/sourceforge
_______________________________________________
MLton-devel mailing list
MLton-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlton-devel