
#11011: Add type-indexed type representations (`TypeRep a`) -------------------------------------+------------------------------------- Reporter: bjmprice | Owner: Type: feature request | Status: new Priority: normal | Milestone: 8.2.1 Component: Compiler | Version: Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * milestone: => 8.2.1 Comment: Replying to [comment:24 goldfire]:
I think we can have our cake and eat it too. Just use a new module name and then we can have `Data.Typeable.TypeRep` be different from `Data.Reflection.TypeRep`. (Of course, we can keep just one `Typeable`, happily.)
This is an interesting idea; it would be great to be able to pull off this change without massive code breakage. That being said, to pick on the particular choice of names `Reflection` and `Typeable`: My only concern is that neither of these names suggest indexed or un-indexed other than the fact that `Data.Typeable` is currently unindexed. It would be nice to have a justification for these names for someone coming to the language without this historical context. Richard, can you think of a rationale here? I'm having trouble thinking of another name than `Reflection` that has a better story here.
I vastly prefer `TypeRep` and `TypeRepX` over `TTypeRep` and `TypeRep`. But I have no great reason for doing so.
Right, I think I've also come around this view as well. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/11011#comment:32 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler