• Simon Peyton Jones's avatar
    Refactor named wildcards (again) · 575a98e4
    Simon Peyton Jones authored
    Michal's work on #10982, #11098, refactored the handling of named
    wildcards by making them more like ordinary type variables.
    
    This patch takes the same idea to its logical conclusion, resulting
    in a much tidier, tighter implementation.
    
    Read Note [The wildcard story for types] in HsTypes.
    
    Changes:
    
     * Named wildcards are ordinary type variables, throughout
    
     * HsType no longer has a data constructor for named wildcards
       (was NamedWildCard in HsWildCardInfo).  Named wildcards are
       simply HsTyVars
    
     * Similarly named wildcards disappear from Template Haskell
    
     * I refactored RnTypes to avoid polluting LocalRdrEnv with something
       as narrow as named wildcards.  Instead the named wildcard set is
       carried in RnTyKiEnv.
    
    There is a submodule update for Haddock.
    575a98e4
RnTypes.hs 67 KB