[GHC] #9118: Can't eta-reduce representational coercions

GHC ghc-devs at haskell.org
Fri May 23 19:59:12 UTC 2014


#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


More information about the ghc-tickets mailing list