
#9118: Can't eta-reduce representational coercions -------------------------------------+------------------------------------ Reporter: goldfire | Owner: Type: feature request | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.8.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: #9117 -------------------------------------+------------------------------------ Comment (by nomeata): Possibly; I’m don’t know all the details of type families. What `eta2 :: Coercible (f a) (g a) => Proxy a -> Coercion f g` says is: If `f` and `g` are the same for one arbitrary argument, they must be the same function. Maybe this is the case if type families are excluded for syntactical reasons. In that case, isn’t this an instance of #8555? We are given a more complex constraint `Coercible (f a) (g a)` and want to decompose it to the simpler `Coercible f g`. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9118#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler