Skip to content
  • Ryan Scott's avatar
    Show TYPE 'Lifted/TYPE 'Unlifted as */# in Show TypeRep instance · 65b810bd
    Ryan Scott authored
    Kind equalities changed how `*`/`#` are represented internally, which
    means that showing a `TypeRep` that contains either of those kinds
    produces a rather gross-looking result, e.g.,
    
    ```
    > typeOf (Proxy :: Proxy 'Just)
    Proxy (TYPE 'Lifted -> Maybe (TYPE 'Lifted)) 'Just
    ```
    
    We can at least special-case the `Show` instance for `TypeRep` so that
    it prints `*` to represent `TYPE 'Lifted` and `#` to represent `TYPE
    'Unlifted`.
    
    Addresses one of the issues uncovered in #11334.
    
    Test Plan: ./validate
    
    Reviewers: simonpj, hvr, austin, goldfire, bgamari
    
    Reviewed By: bgamari
    
    Subscribers: thomie
    
    Differential Revision: https://phabricator.haskell.org/D1757
    
    GHC Trac Issues: #11334
    65b810bd