ConstraintKinds and default associated empty constraints

Bas van Dijk v.dijk.bas at
Sun Jan 8 14:32:01 CET 2012

On 23 December 2011 17:44, Simon Peyton-Jones <simonpj at> wrote:
> My attempt at forming a new understanding was driven by your example.
> class Functor f where
>    type C f :: * -> Constraint
>    type C f = ()
> sorry -- that was simply type incorrect.  () does not have kind *  ->
> Constraint

So am I correct that the `class Empty a; instance Empty a` trick is
currently the only way to get default associated empty constraints?

Will this change in GHC-7.4.1? (For example by having an overloaded `()`)

The reason I ask is I would like to know if it's already feasible to
start proposing adding these associated constraints to Functor,
Applicative and Monad.



More information about the Glasgow-haskell-users mailing list