[GHC] #10343: Make Typeable track kind information better
GHC
ghc-devs at haskell.org
Thu Apr 23 13:09:16 UTC 2015
#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
More information about the ghc-tickets
mailing list