• Simon Peyton Jones's avatar
    Improve pretty-printing of types · 871b63e4
    Simon Peyton Jones authored
    When doing debug-printing it's really important that the free vars
    of a type are printed with their uniques.  The IfaceTcTyVar thing
    was a stab in that direction, but it only worked for TcTyVars, not
    TyVars.
    
    This patch does it properly, by keeping track of the free vars of the
    type when translating Type -> IfaceType, and passing that down through
    toIfaceTypeX.  Then when we find a variable, look in that set, and
    translate it to IfaceFreeTyVar if so.  (I renamed IfaceTcTyVar to
    IfaceFreeTyVar.)
    
    Fiddly but not difficult.
    
    Reviewers: austin, goldfire, bgamari
    
    Reviewed By: bgamari
    
    Subscribers: thomie
    
    Differential Revision: https://phabricator.haskell.org/D3201
    871b63e4
IfaceSyn.hs 77.5 KB