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 <marlo...@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@haskell.**org <Glasgow-haskell-users@haskell.org> > http://www.haskell.org/**mailman/listinfo/glasgow-**haskell-users<http://www.haskell.org/mailman/listinfo/glasgow-haskell-users> >
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users