Injective type families

Simon Peyton Jones simonpj at
Tue Jan 12 09:44:38 UTC 2016

I'd prefer to use TypeFamilyDependencies right now, and keep using that same flag (not a new one) when we extend what "dependencies" means.


| -----Original Message-----
| From: Jan Stolarek [mailto:jan.stolarek at]
| Sent: 12 January 2016 08:44
| To: Richard Eisenberg <eir at>
| Cc: Simon Peyton Jones <simonpj at>; GHC developers <ghc-
| devs at>
| Subject: Re: Injective type families
| > 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.
| Janek
| ---
| 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