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