
#13072: Move large tuples to a separate module in base -------------------------------------+------------------------------------- Reporter: rwbarton | Owner: rwbarton Type: task | Status: new Priority: normal | Milestone: 8.2.1 Component: libraries/base | Version: 8.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by rwbarton): I think I figured out the answer to my question. The reason why GHC needed to load the interface file for `GHC.LargeTuple` for family instance checking when `Prelude` imported it is because I might have written a function in `Prelude` that relies on the family instance. Since I actually didn't do that, it's fine to not eagerly check `GHC.LargeTuple` for type family instance conflicts when loading `Prelude`. Anyone who does use the `GHC.LargeTuple` type family instances (even indirectly through another module) will have `GHC.LargeTuple` as a "family instances" import of their module (worth actually testing!) and so the necessary consistency checks will be done when we import that module in another module. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13072#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler