
#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): Re lookupGlobal, there is a reason for this! If you look up `Complex`, say, then GHC might need to read in `Complex.hi`, and deserialise and typecheck it (`TcIface` does this). The "typechecking" will never fail, unless it's a stale `.hi` file or something, but it's the process of turning a bare syntax tree into `TyCons`, `Ids` etc. Now that does not need the full glory of the `Tc` monad; but it does need quite a bit. Teasing out exactly what it uses, and perhaps making a stripped-down `Tc` monad just for that, might be worthwhile. But it would be work, perhaps more than is justified until we have a stronger cause. I'm sure there are lots of other ways in which things could be better structured too. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14391#comment:33 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler