
#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 simonpj): Well that is indeed odd. I'd expect to see a `checkWiredInTyCon` in all the places in the typechecker where an explicit tuple occurs, namely * In the `ExplicitTuple` case of `TcExpr`. (Don't forget the not tup-args- all-present case.) * In the `HsTypleTy` case of `TcHsType.tc_hs_type`. (I think the best place would be in `finish_tuple`.) How does it work at the moment? It looks as if the instances for tuples are defined with the relevant ''classes'' (e.g `Eq` in `GHC.Classes`). And that is loaded whenever the class is loaded, so we won't see any missing instances for tuples. That looks like a fluke to me. Incidentally, you might want to do the same big-tuple thing for the constraint tuples in `GHC.Classes`, which is almost invariably loaded. (Use `-ddump-if-trace` to see.) Simon -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13072#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler