• Simon Peyton Jones's avatar
    Smarter HsType pretty-print for promoted datacons · ae2c9b40
    Simon Peyton Jones authored
    Fix Trac #15898, by being smarter about when to print
    a space before a promoted data constructor, in a HsType.
    I had to implement a mildly tiresome function
        HsType.lhsTypeHasLeadingPromotionQuote
    It has multiple cases, of course, but it's very simple.
    
    The patch improves the error-message output in a bunch of
    cases, and (to my surprise) actually fixes a bug in the
    output of T14343 (Trac #14343), thus
    
      -  In the expression: _ :: Proxy '('( 'True,  'False),  'False)
      +  In the expression: _ :: Proxy '( '( 'True, 'False), 'False)
    
    I discovered that there were two copies of the PromotionFlag
    type (a boolean, with helpfully named data cons), one in
    IfaceType and one in HsType.  So I combined into one,
    PromotionFlag, and moved it to BasicTypes.  That's why
    quite a few files are touched, but it's all routine.
    ae2c9b40
Name
Last commit
Last update
..
.gitignore Loading commit data...
Makefile Loading commit data...
Ppr001.hs Loading commit data...
Ppr002.hs Loading commit data...
Ppr003.hs Loading commit data...
Ppr004.hs Loading commit data...
Ppr005.hs Loading commit data...
Ppr006.hs Loading commit data...
Ppr007.hs Loading commit data...
Ppr008.hs Loading commit data...
Ppr009.hs Loading commit data...
Ppr010.hs Loading commit data...
Ppr011.hs Loading commit data...
Ppr012.hs Loading commit data...
Ppr013.hs Loading commit data...
Ppr014.hs Loading commit data...
Ppr015.hs Loading commit data...
Ppr016.hs Loading commit data...
Ppr017.hs Loading commit data...
Ppr018.hs Loading commit data...
Ppr019.hs Loading commit data...
Ppr020.hs Loading commit data...
Ppr021.hs Loading commit data...
Ppr022.hs Loading commit data...
Ppr023.hs Loading commit data...
Ppr024.hs Loading commit data...
Ppr025.hs Loading commit data...
Ppr026.hs Loading commit data...
Ppr027.hs Loading commit data...
Ppr028.hs Loading commit data...
Ppr029.hs Loading commit data...
Ppr030.hs Loading commit data...
Ppr031.hs Loading commit data...
Ppr032.hs Loading commit data...
Ppr033.hs Loading commit data...
Ppr034.hs Loading commit data...
Ppr035.hs Loading commit data...
Ppr036.hs Loading commit data...
Ppr037.hs Loading commit data...
Ppr038.hs Loading commit data...
Ppr039.hs Loading commit data...
Ppr040.hs Loading commit data...
Ppr041.hs Loading commit data...
Ppr042.hs Loading commit data...
Ppr043.hs Loading commit data...
Ppr044.hs Loading commit data...
Ppr045.hs Loading commit data...
Ppr046.hs Loading commit data...
Ppr047.hs Loading commit data...
Ppr048.hs Loading commit data...
T13050p.hs Loading commit data...
T13199.hs Loading commit data...
T13199.stdout Loading commit data...
T13550.hs Loading commit data...
T13550.stdout Loading commit data...
T13942.hs Loading commit data...
T13942.stdout Loading commit data...
T14289.hs Loading commit data...
T14289.stdout Loading commit data...
T14289b.hs Loading commit data...
T14289b.stdout Loading commit data...
T14289c.hs Loading commit data...
T14289c.stdout Loading commit data...
T14306.hs Loading commit data...
T14343.hs Loading commit data...
T14343.stderr Loading commit data...
T14343b.hs Loading commit data...
T14343b.stderr Loading commit data...
T15761.hs Loading commit data...
T15761.stderr Loading commit data...
all.T Loading commit data...