
It doesn't sound like the newtype coercions we are likely to get are going
to be usable in this way regardless. It was just the historical reason for
why I kept vacuous around. =)
-Edward
On Thu, Jul 18, 2013 at 8:24 PM, Dan Doel
Are GHC's newtype coercions going to know that the second step of 'f Void -> f (forall a. a) -> forall a. f a' is valid due to f being a Functor? I'm not sure that can be counted upon.
On Thu, Jul 18, 2013 at 1:33 PM, Edward Kmett
wrote: You can get there if you use
newtype Void = Void { absurd :: forall a. a }
instead.
-Edward
On Wed, Jul 17, 2013 at 6:03 PM, Joachim Breitner < mail@joachim-breitner.de> wrote:
Hi,
Am Mittwoch, den 17.07.2013, 15:27 -0400 schrieb Edward Kmett:
Now the Data.Void.Unsafe module provides that functionality (as unsafeVacuous) and vacuous itself is provided for compatibility with code that used it, and is left in case we ever get something in Functor that lets us apply newtype coercions directly to the Functor's parameter.
how would lifting newtype coercions to functors help here: vacuous :: Functor f => f Void -> f a Void is not a newtype of a.
Greetings, Joachim
-- Joachim “nomeata” Breitner mail@joachim-breitner.de • http://www.joachim-breitner.de/ Jabber: nomeata@joachim-breitner.de • GPG-Key: 0x4743206C Debian Developer: nomeata@debian.org
_______________________________________________ Libraries mailing list Libraries@haskell.org http://www.haskell.org/mailman/listinfo/libraries
_______________________________________________ Libraries mailing list Libraries@haskell.org http://www.haskell.org/mailman/listinfo/libraries