
#14391: Make the simplifier independent of the typechecker -------------------------------------+------------------------------------- Reporter: nomeata | Owner: (none) Type: task | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.3 Resolution: | Keywords: newcomer Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D4503 Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): Interesting! One way to avoid the need for `.hs-boot` files would be to rename-and- typecheck each SCC as a whole. (Implementing this idea would make an excellent project, BTW.) If we did that, then yes, reducing SCC sizes would become highly relevant. (Until we implement it, I'm not sure that reducing SCC sizes is that important.) I had a look at the top candidate: the import of `TcSplice` in `TcRnMonad`. I think it'd be very simple to untangle. It's only needed to allow the call to `runRemoteModFinalizers`. But I think you could easily have {{{ th_modfinalizers_var :: IORef [(TcLclEnv, ThModFinalizers)] }}} and then `TcRnMonad` would not need to mention `runRemoteModFinalizers`. I think that'd be a straight improvement, and we should do it regardless. Would you like to try that? It's a rather simple change. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14391#comment:35 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler