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