
#14180: Strange/bad error message binding unboxed type variable -------------------------------------+------------------------------------- Reporter: dfeuer | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.2.3 Component: Compiler (Type | Version: 8.3 checker) | Resolution: | Keywords: TypeInType Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by RyanGlScott): To motivate why I want this, it's because the [http://hackage.haskell.org/package/kind-generics kind-generics] library (described in the paper //Generics of All Kinds//) is attempting to come up with a uniform representation of both lifted and unlifted types. Due to the way `kind-generics` works, we need to implement a type family with this shape: {{{#!hs type family Interpret (t :: Atom d k) (tys :: LoT d) :: k where }}} Where `k` is the type of the type being interpreted. At the moment, since `k :: Type`, `Interpret` is exclusively limited to use with lifted types. I'd like to be able to instead say: {{{#!hs type family Interpret (t :: Atom d (k :: TYPE r)) (tys :: LoT d) :: (k :: TYPE r) where }}} But GHC won't let me do so for the same reasons as in this ticket. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14180#comment:10 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler