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

GHC ghc-devs at haskell.org
Thu Jan 5 15:43:43 UTC 2017


#13072: Move large tuples to a separate module in base
-------------------------------------+-------------------------------------
           Reporter:  rwbarton       |             Owner:
               Type:  task           |            Status:  new
           Priority:  normal         |         Milestone:  8.2.1
          Component:                 |           Version:  8.1
  libraries/base                     |
           Keywords:                 |  Operating System:  Unknown/Multiple
       Architecture:                 |   Type of failure:  None/Unknown
  Unknown/Multiple                   |
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 Quoting from my message to ghc-devs@:

 > It occurred to me that rather than moving just these instances to a new
 module, we could move the large tuples themselves to a new module
 Data.LargeTuple and put the instances there. The Prelude would reexport
 the large tuples, so there would be no user-visible change. According to
 my experiments, GHC should never have to read the Data.LargeTuple
 interface file unless a program actually mentions a large tuple type,
 which is presumably rare. We could then also extend the existing instances
 for Eq, Show, etc., which are currently only provided through 15-tuples.
 >
 > A nontrivial aspect of this change is that tuples are wired-in types,
 and they currently all live in the ghc-prim package. I'm actually not sure
 why they need to be wired-in rather than ordinary types with a funny-
 looking name. In any case I need to look into this further, but the
 difficulties here don't seem to be insurmountable.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13072>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list