
#10343: Make Typeable track kind information better -------------------------------------+------------------------------------- Reporter: oerjan | Owner: goldfire Type: feature request | Status: new Priority: normal | Milestone: 7.12.1 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 oerjan): Replying to [comment:17 goldfire]:
I've updated [wiki:Typeable]. See the new Proposed API section, and the new Step 3.
I'd like to note that if the proposed API is to help with Step 3 aka this ticket, either `trCon` or your suggested `tyConRep` needs to take a `TTypeRep k` argument. The "How can we get a TTyCon for a known-at-compile-time tycon?" was something I also stumbled on when trying to think of an API. Curiously if you simplify this a bit by removing `TTyCon` (`>_> <_<`), there is a nice ''end-user'' way of writing this from what's on the wiki page: {{{ x :: TTypeRep k -> TTypeRep (Proxy :: k -> *) x tt = withTypeable tt tTypeRep }}} Of course this just calls back into the entire machinery that's being implemented, so cannot be used as a basis. However, it means that the primitive desugaring of this may not need to be exposed to users. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10343#comment:18 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler