[GHC] #13072: Move large tuples to a separate module in base

GHC ghc-devs at haskell.org
Mon Jan 9 15:30:57 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 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


More information about the ghc-tickets mailing list