
#8503: New GeneralizedNewtypeDeriving check still isn't permissive enough -------------------------------------+------------------------------------ Reporter: goldfire | Owner: goldfire Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.7 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: -------------------------------------+------------------------------------ Comment (by simonpj): Good point. Messing with `TyConAppCo` seems like a sledgehammer to crack a nut, though. Let's check one thing. Does the problem go away if we say that the axiom for U is {{{ axiom ax7 a : U a ~R T a }}} that is, if we '''refrain from eta-reducing the axiom'''? If so, I think we can re-visit our reasons for eta-reducing the axiom (see `Note [Newtype eta]` in `TyCon.lhs`). I believe the reason was 99% to do with coercing the dictionary in GND. And we aren't doing that any more. Moreover, it seems kind of odd to have '''representational''' equality at any kind other than *, doesn't it? Do we have any ''other'' source of representational equality at non-* kinds? Getting rid of the eta reduction would simplify the code a bit, too. Simon -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8503#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler