
#10343: Make Typeable track kind information better -------------------------------------+------------------------------------- Reporter: oerjan | Owner: Type: feature request | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.10.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: None/Unknown | Unknown/Multiple Blocked By: | Test Case: typeOf :: Related Tickets: #9858 | Typeable (a::k) => Proxy a -> | TypeRep | Blocking: | Differential Revisions: -------------------------------------+------------------------------------- Comment (by goldfire): Replying to [comment:5 simonpj]:
I'm assuming that much of what Oerjan wants will "just work" once we have Richard's kind equalities. Right Richard?
But not, perhaps, `kindRep` which I do not fully understand.
I'm not sure exactly what "much of what Oerjan wants" refers to, so I can't make a claim one way or the other. I can say that the feature requested in this ticket will ''not'' just work in my branch. The problem is that if we have a `TypeRep` for some time `a` of kind `k`, there is no way, at runtime, to extract a `TypeRep` for `k`. `TypeRep`s simply don't store enough information to do this. Fixing this should be straightforward, and I believe is totally orthogonal to anything dealing with my branch. (Well, not ''totally'' orthogonal, because in my branch `kindRep (kindRep <<anything>>)` is a `TypeRep` for `*`, and today it would be a `TypeRep` for `BOX`. But this matters little.) Coming up with an API design is a touch harder, but I don't think it should be too bad, and it remains independent from the `TTypeRep a` story. Oerjan, you're a (the?) client of all this. Propose an API design. :) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10343#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler