
Pedro said "I couldn't find an acceptable solution. But, as I said before, I would very much welcome a better solution." Reid suggested one,
#8813: further support deriving instances Typeable1, Typeable2, etc ----------------------------------------------+---------------------------- Reporter: maeder | Owner: dreixel Type: task | Status: merge Priority: normal | Milestone: Component: Compiler | Version: Resolution: | 7.8.1-rc1 Operating System: Unknown/Multiple | Keywords: Type of failure: GHC rejects valid program | Architecture: Test Case: | Unknown/Multiple Blocking: | Difficulty: Unknown | Blocked By: | Related Tickets: ----------------------------------------------+---------------------------- Changes (by dreixel): * status: new => merge Comment: Replying to [comment:15 simonpj]: perhaps one that Pedro thought of and discarded, perhaps not. It has the advantage that it might be a simple change to `Data.Typeable` making (deprecated) exports of `Typeable1`, `Typeable2` etc.
Pedro: can you think of any problems with this? Thanks Reid.
No, I hadn't thought of this before, and no, I don't see any problems with it. As has been pointed out already, it won't work for all old code. But it might still make some more code work, and I don't see a problem with including it. So I submitted a patch to base adding those. In particular, the original problem code described in this ticket should now compile (along with a deprecation warning). I've also updated the wiki page at https://ghc.haskell.org/trac/ghc/wiki/GhcKinds/PolyTypeable to refer to 7.8 as the present, not the future, and I've added a section on how to make your code compile again. I've also added a link to this wiki page from the Data.Typeable haddock. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8813#comment:28 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler