Ryan
If you compile

newtype Compose f g a = Compose (f (g a)) deriving( Generic1 )
and do –show-iface on the resulting hi file, you’ll see

  $fGeneric1Compose ::

    forall (f :: * -> *) k (g :: k -> *).

    Functor f =>

    Generic1 (Compose f g)
I was expecting to see

  $fGeneric1Compose ::

    forall (f :: k1 -> *) k (g :: k -> k1).

    (..something..) =>

    Generic1 (Compose f g)
Otherwise the Generic1 instance only works if its first argument has kind (* -> 
*).
Is that the intention?  Maybe so…
Simon
_______________________________________________
ghc-devs mailing list
[email protected]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

Reply via email to