More general Generic and Data instances for Data.Proxy.Proxy?

Ryan Scott at
Sat Jul 18 00:37:20 UTC 2015

Actually, Data.Data already has PolyKinds enabled, but the (Data t => Data
(Proxy t)) instance requires that the type parameter be of kind *, since
the Data typeclass has kind * -> Constraint.

On the other hand, switching on PolyKinds in GHC.Generics should provide a
polykinded Generic (Proxy t) instance (the corresponding instance in the
tagged library is already polykinded, in fact). If we enable PolyKinds in
GHC.Generics, we could also make Rep, Generic1, Rep1, V1, U1, Rec1, K1, M1,
(:+:), (:*:), and (:.:) polykinded.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Libraries mailing list