[GHC] #8423: contraint solver doesn't reduce reducible closed type family expressions (even with undecidable instances!)

GHC ghc-devs
Thu Oct 10 16:18:56 UTC 2013


#8423: contraint solver doesn't  reduce reducible closed type family expressions
(even with undecidable instances!)
--------------------------------------------+------------------------------
        Reporter:  carter                   |            Owner:
            Type:  feature request          |           Status:  new
        Priority:  normal                   |        Milestone:  7.10.1
       Component:  Compiler (Type checker)  |          Version:  7.7
      Resolution:                           |         Keywords:
Operating System:  Unknown/Multiple         |     Architecture:
 Type of failure:  None/Unknown             |  Unknown/Multiple
       Test Case:                           |       Difficulty:  Unknown
        Blocking:                           |       Blocked By:
                                            |  Related Tickets:  #4259
--------------------------------------------+------------------------------

Comment (by goldfire):

 This should work just fine in 7.6. Just change the closed type family
 `(+)` to be an open one. Everything else should just work. I've update
 [https://gist.github.com/goldfirere/6902431#file-shape-7-6-hs the gist]
 with a 7.6-compatible version. (I also had to inline a few definitions
 that aren't available in the 7.6 libraries.)

 Examining the core won't work, because even core needs the proofs to type-
 check! You might be able to examine something after core, but GHC's
 behavior after it's done with core is black magic to me. You might have to
 benchmark it.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8423#comment:9>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler



More information about the ghc-tickets mailing list