|  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.

Can you be more specific?  What does "gloss over" mean?

S

|  -----Original Message-----
|  From: Richard Eisenberg [mailto:[email protected]]
|  Sent: 09 September 2015 13:35
|  To: Simon Peyton Jones
|  Cc: ghc-devs
|  Subject: Re: Unlifted data types
|  
|  
|  On Sep 9, 2015, at 8:28 AM, Simon Peyton Jones <[email protected]>
|  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
[email protected]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

Reply via email to