[GHC] #13072: Move large tuples to a separate module in base
GHC
ghc-devs at haskell.org
Mon Jan 9 08:59:06 UTC 2017
#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
More information about the ghc-tickets
mailing list