[GHC] #14663: Deriving Typeable for enumerations seems expensive
GHC
ghc-devs at haskell.org
Fri Jan 12 08:49:59 UTC 2018
#14663: Deriving Typeable for enumerations seems expensive
-------------------------------------+-------------------------------------
Reporter: niteria | Owner: (none)
Type: bug | Status: new
Priority: low | Milestone:
Component: Compiler | Version:
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):
> It appears that by default I pay >50% of compile time for a feature
that I probably won't use.
Yes, we debated this quite a bit. For each data type we generate a bit of
static information, just Haskell data structures, to describe the type.
That way, anyone (in another module) who needs `Typeable T` or `Typeable
'A0001` can have it.
But mostly they don't need that, so it's wasted bloat.
Another alternative is to generate those data structure on-the-fly in
every client module. Before long we'd be saying "let's avoid doing that
multiple times in the same module, or doing it in module M if it's already
done in one of M's imports", and we'd add machinery to avoid duplication.
That is all extra complexity. Maybe it's justified. It'd be interesting
to know who else tripped over this.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14663#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list