| 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
