Skip to content
  • Simon Peyton Jones's avatar
    Simplify SimplCont, plus some other small changes to the Simplifier · 53f99d84
    Simon Peyton Jones authored
    The main change in this patch is this:
      
      * The Stop constructor of SimplCont no longer contains the OutType
        of the whole continuation.  This is a nice simplification in 
        lots of places where we build a Stop continuation.  For example,
        rebuildCall no longer needs to maintain the type of the function.
    
      * Similarly StrictArg no longer needs an OutType
    
      * The consequential complication is that contResultType (not called
        much) needs to be given the type of the thing in the middle.  No
        big deal.
    
      * Lots of other small knock-on effects
    
    Other changes in here
    
      * simplLazyBind does do the type-abstraction thing if there's
        a lambda inside.  See comments in simplLazyBind
    
      * simplLazyBind reduces simplifier iterations by keeping 
        unfolding information for stuff for which type abstraction is 
        done (see add_poly_bind)
    
    All of this came up when implementing System IF, but seems worth applying
    to the HEAD
    53f99d84