[GHC] #14180: Strange/bad error message binding unboxed type variable
GHC
ghc-devs at haskell.org
Mon Feb 4 18:12:55 UTC 2019
#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
More information about the ghc-tickets
mailing list