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.