On Sep 9, 2015, at 8:28 AM, Simon Peyton Jones <simo...@microsoft.com> wrote:

> I think it'd be better to have 
> 
> TYPE :: TypeShape -> *
> 
> data TypeShape = Unboxed | Boxed Levity
> data Levity = Lifted | Unlifted
> 

Yes, of course.

> So we really would get very little levity polymorphism ineed.  I think.

That's right. The levity polymorphism is, essentially, only to have a nice type 
inference story. Once the code gets passed to the back end, the polymorphism 
would have to be removed. My idea was to use it to allow users to gloss 
(somewhat) over the ! vs. no-! distinction by having the compiler to the Right 
Thing during inference.

Richard
_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

Reply via email to