[GHC] #13105: Allow type families in RuntimeReps

GHC ghc-devs at haskell.org
Wed Jan 11 14:21:04 UTC 2017


#13105: Allow type families in RuntimeReps
-------------------------------------+-------------------------------------
        Reporter:  goldfire          |                Owner:
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.0.1
      Resolution:                    |             Keywords:
                                     |  LevityPolymorphism
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
                                     |  typecheck/should_fail/T13105
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by goldfire):

 But if `f e` is well-typed, then `f (e |> co)` surely isn't. We would need
 `(f |> co') (e |> co)` or some such. I imagine this is what we'll have to
 do, but it doesn't seem trivial.

 The other possibility may be to normalise types as we're converting to
 Stg, where types don't matter. This poses other challenges, in that the
 levity-polymorphism checks in the desugarer and in Core Lint will have to
 distinguish between type family applications that can reduce and those
 that can't. Might be easier than the program transformation, though.

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


More information about the ghc-tickets mailing list