Would it be useful to make 'Proxy' an unboxed type itself? so Proxy :: forall k . k -> # This would statically ensure that no one accidentally passes ⊥ as a parameter or will get anything other than the unit 'Proxy' when trying to evaluate it. So the compiler can unconditionally elide the parameter at runtime. Pretty much exactly how State# gets dropped which has almost the same definition. something I have thought about is perhaps a special syntax for Proxy, like {:: Int -> Int } is short for (Proxy :: Proxy (Int -> Int)). not sure whether that is useful enough in practice though, but could be handy if we are throwing around types a lot. John On Fri, Feb 10, 2012 at 8:03 AM, Simon Peyton-Jones <simonpj@microsoft.com> 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
Comments? You can fix typos or add issues directly in the wiki page, or discuss by email
Simon
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users