<div dir="ltr"><div>Hey Sylvain,</div><div><br></div><div>In <a href="https://gitlab.haskell.org/ghc/ghc/-/merge_requests/3971">https://gitlab.haskell.org/ghc/ghc/-/merge_requests/3971</a> I had to fight once more with the transitive dependency set of the parser, the minimality of which is crucial for <a href="https://hackage.haskell.org/package/ghc-lib-parser">ghc-lib-parser</a> and tested by the CountParserDeps test.</div><div><br></div><div>I discovered that I need to make (parts of) `DsM` abstract, because it is transitively imported from the Parser for example through Parser.y -> Lexer.x -> DynFlags -> Hooks -> {DsM,TcM}.</div><div>Since you are our mastermind behind the "Tame DynFlags" initiative, I'd like to hear your opinion on where progress can be/is made on that front.</div><div><br></div><div>I see there is <a href="https://gitlab.haskell.org/ghc/ghc/-/issues/10961">https://gitlab.haskell.org/ghc/ghc/-/issues/10961</a> and <a href="https://gitlab.haskell.org/ghc/ghc/-/issues/11301">https://gitlab.haskell.org/ghc/ghc/-/issues/11301</a> which ask a related, but different question: They want a DynFlags-free interface, but I even want a DynFlags-free *module*.</div><div><br></div><div>Would you say it's reasonable to abstract the definition of `PState` over the `DynFlags` type? I think it's only used for pretty-printing messages, which is one of your specialties (the treatment of DynFlags in there, at least).</div><div>Anyway, can you think of or perhaps point me to an existing road map on that issue?</div><div><br></div><div>Thank you!</div><div>Sebastian<br></div></div>