Changes to Typeable

Edward Kmett ekmett at gmail.com
Mon Feb 13 19:16:37 CET 2012


You could probably get away with something like

data Proxy = Proxy a

class Typeable a where
  typeOfProxy :: Proxy a -> TypeRep

typeOf :: forall a. Typeable a => a -> TypeRep
typeOf = typeOfProxy (Proxy :: Proxy a)

which being outside of the class won't contribute to the inference of 'a's
kind.

This would let you retain the existing functionality.

On Mon, Feb 13, 2012 at 8:33 AM, Simon Marlow <marlowsd at gmail.com> wrote:

> On 10/02/2012 16:03, Simon Peyton-Jones wrote:
>
>> Friends
>>
>> The page describes an improved implementation of the Typeable class,
>> making use of polymorphic kinds. Technically it is straightforward, but it
>> represents a non-backward-compatible change to a widely used library, so we
>> need to make a plan for the transition.
>>
>>        http://hackage.haskell.org/**trac/ghc/wiki/GhcKinds/**PolyTypeable<http://hackage.haskell.org/trac/ghc/wiki/GhcKinds/PolyTypeable>
>>
>> Comments?  You can fix typos or add issues directly in the wiki page, or
>> discuss by email
>>
>
> I've no objections to the plan itself, except that typeOf itself seems
> useful, so is there any need to deprecate it?
>
> Cheers,
>
>        Simon
>
> ______________________________**_________________
> Glasgow-haskell-users mailing list
> Glasgow-haskell-users at haskell.**org <Glasgow-haskell-users at haskell.org>
> http://www.haskell.org/**mailman/listinfo/glasgow-**haskell-users<http://www.haskell.org/mailman/listinfo/glasgow-haskell-users>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/glasgow-haskell-users/attachments/20120213/ebe3ffe3/attachment.htm>


More information about the Glasgow-haskell-users mailing list