[GHC] #14391: Make the simplifier independent of the typechecker
GHC
ghc-devs at haskell.org
Thu Sep 6 13:43:46 UTC 2018
#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
More information about the ghc-tickets
mailing list