case expressions/transfers
Matthew Fluet
fluet@CS.Cornell.EDU
Wed, 9 Jan 2002 21:43:52 -0500 (EST)
> I'm extending the
> type-checker to verify that all SSA case transfers are non-redundant and
> exhaustive.
The extension to the SSA type checker works, and all programs (including a
self-compile) type-check except polymorphic-recursion.sml. It fails at
the initial SSA type-check with
mlton: exhaustive case has default
At first I thought I could modify the monomorphiser, but I think I've
convinced myself that we won't know which datatype variants are going to
be necessary until after monomorphising the program; that is, when
translating a case, I can't know whether or not it is exhaustive.
So, I think it'll have to go into the XML shrinker.