[MLton] cvs commit: improved exception history for Overflow

Stephen Weeks MLton@mlton.org
Mon, 23 May 2005 20:30:00 -0700


> That works, but note that the body of the raise is an expression, which 
> may itself raise. 
...
> This could be fixed by having the elaborator let-bind the exception and 
> wrap Enter/Leave around the raise of the variable.  But, I suspect this 
> sort of thing is sufficiently rare that it may not be worth complicating 
> the elaborator.

It's not very hard to do the let bind.  So, if you think the other way
is better I'm fine with it.  But the -profile-raise stuff seems good.

> Speaking of doing anything it wants, I was going to propose changing 
> "anon" to "fn".  It conveys the same meaning, and "fn" has the advantage 
> of being an SML keyword, while "anon" is a valid SML identifier.

Sounds good to me.  Done.

> If one wished to use -profile count -profile-raise true as a
> coverage tool, then it would be wise to improve the profile
> annotations inserted by defunctorize, as they are inserted for
> _every_ match, including trivial val x = ...  declarations.

Yeah.  I tweaked the call to the match compiler in defunctorize.fun to
fix this.  Lemme know if there are still problems.