Changes to Typeable

John Meacham john at repetae.net
Sat Feb 11 00:30:02 CET 2012


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 at 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 at haskell.org
> http://www.haskell.org/mailman/listinfo/glasgow-haskell-users



More information about the Glasgow-haskell-users mailing list