Skip to content

TTG follow-up: Outputable orphans

Followup in cleaning-up after separating the AST from GHC-Pass !4778 (closed); regarding the orphan Outputable instances in compiler/GHC/Hs/Expr.hs

It makes me wonder whether all the Outputable instances should be in GHC.Hs.Extension.GhcPass. I think they wouldn't be orphans there.

After we add more TTG parameters to allow using non-GHC non-tie-the-know-oh-wait-hs-boots-everywhere, we can generalize these instances so they don't assume GhcPass.

Outputable itself assumes some things about names and other GHC which would probably be lifted.

So I don't know what's best in the short and medium terms, but I hope in the long term we can have some nice GHC-agnostic bring-your-own-configuration-record pretty printing. This will also help with #17957 and getting rid of the unsafe global cfg stuff.

!4778 (comment 324909)

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information