
7 Apr
2008
7 Apr
'08
12:52 a.m.
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