[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.