[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