More Higher-Kinded Typeclass Instances

Andrew Martin andrew.thaddeus at
Tue Mar 29 14:13:30 UTC 2016

Yeah, that is a lot of instances (especially all 62 types of tuples). I
think you're right that it makes more sense to do this with an extension to
the deriving mechanism, especially since even if I wrote them now, it would
probably make sense to redo them with a deriving clause later. At the
moment, I don't really need any of them but Proxy, which is already done,
some I'm happy to wait this one out. Thanks.

-Andrew Martin

On Tue, Mar 29, 2016 at 9:10 AM, Ryan Scott < at> wrote:

> Well, if we're going to be thorough, we need to also get:
> * Tuple types
> * All (* -> *)-kinded datatypes in Data.Monoid
> * Data.Type.Equality.(:~:) and Data.Type.Coercion.Coercion
> * Fixed
> * ST, STRef
> * Chan
> * MVar, IORef, TVar
> A lot of these types' existing Eq/Ord/Read/Show instances are
> currently derived, however, and you might find it incredibly tedious
> to type all them out by hand (not to discourage you from going for it
> if you need them now, but we warned). Given that the window for new
> 8.0 features is almost closed, perhaps it would be better to wait
> until I've implemented an extension which derives these classes
> automatically?
> (I wanted to get such an extension implemented sooner, but time ran
> out. I'll try to find some time to write a wiki page proposing a
> design so that we can get the ball rolling soon after the 8.0 final
> release.)
> Ryan S.
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at

-Andrew Thaddeus Martin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the ghc-devs mailing list