Wildcards in type functions vs. named wild cards

Simon, One of my students (Michał, CCd) is hacking on #10982 and he noticed a rather unexpected behaviour. If I say: {-# LANGUAGE TypeFamilies #-} module T10982 where type family F a where F _t = Int Then everything is fine. But if I enable NamedWildCards extension then suddenly this code is rejected: T10982.hs:7:7: error: Unexpected wild card: ‘_t’ In the declaration for type synonym ‘F’ I am 99% sure this is a bug and the program should be accepted even with NamedWildCards. Am I correct? Does this interact in any way with your upcomming refactoring of wildcards? 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.

Hmm. I suppose that
F _ = Int
should mean just the same as
F a = Int
But what about
F _a = _a -> _a
Does that mean anything different from
F a = a -> a
If F _a = .. is allowed at all, I guess it should mean just the same as an ordinary type variable.
Would you like to implement that, and document it? (My wildcard refactoring patch is about to land.)
Simon
| -----Original Message-----
| From: Jan Stolarek [mailto:jan.stolarek@p.lodz.pl]
| Sent: 01 December 2015 12:21
| To: Simon Peyton Jones

If F _a = .. is allowed at all, I guess it should mean just the same as an ordinary type variable. Yes, exactly. I want type-level behaviour to mimic term level here.
Would you like to implement that, and document it? Michał is working on that.
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.
participants (2)
-
Jan Stolarek
-
Simon Peyton Jones