
9 Sep
2015
9 Sep
'15
12:35 p.m.
On Sep 9, 2015, at 8:28 AM, Simon Peyton Jones
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