[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