
#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