On Sun, 6 Apr 2008, Thomas M. DuBuisson wrote:

Id is an operation over types yielding a type, as such it doesn't make
much sense to me to have (Id a -> Id a) but rather something like (a ->
Id a).  One could make this compile by adding the obvious instance:

type instance Id a = a

Curiously, is this a reduction from a real world use of families?  I
just can't think of how a (Fam a -> Fam a) function would be of use.

Yes, it's cut down from an example where (I think) I really need the type signature to specialise a general function that does do something useful. The generalised intstance above wouldn't be valid or sensible in that context.

Cheers,

Ganesh
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to