Injective type families

Jan Stolarek jan.stolarek at
Tue Jan 12 08:44:01 UTC 2016

> I'm joining this conversation late, but I favor TypeFamilyDependencies over
> InjectiveTypeFamilies. We use the annotations for things other than
> injectivity! For example,
> > type family Plus a b = r | r a -> b, r b -> a
> is not injective under any common understanding of the word.
But that is not implemented yet and thus will not make it into GHC 8.0. Following earlier 
argumentation, once we have generalized injectivity we should put it into a separate extension. 
So I'd say we stick with InjectiveTypeFamilies for currently implemented features and put the new 
ones in TypeFamilyDependencies.

That said, I don't like the idea that every addition to a language extension means creating a 
separate language extension.


Politechnika Łódzka
Lodz University of Technology

Treść tej wiadomości zawiera informacje przeznaczone tylko dla adresata.
Jeżeli nie jesteście Państwo jej adresatem, bądź otrzymaliście ją przez pomyłkę
prosimy o powiadomienie o tym nadawcy oraz trwałe jej usunięcie.

This email contains information intended solely for the use of the individual to whom it is addressed.
If you are not the intended recipient or if you have received this message in error,
please notify the sender and delete it from your system.

More information about the ghc-devs mailing list