Unused type variables with non-linear patterns
Richard Eisenberg
eir at cis.upenn.edu
Fri Dec 11 16:02:14 UTC 2015
I agree with Michael. This should not emit a warning.
While you're in this area, make sure that
> type instance F _ _ = Int
indeed matches `F Char Bool`. It's easy to imagine both underscores being treated as the same variable, which is not what the user intends.
Thanks,
Richard
On Dec 10, 2015, at 4:32 PM, Michael Sloan <mgsloan at gmail.com> wrote:
> I definitely think this should be considered a usage. Ideally, you should always be able to resolve warnings, but there'd be no straightforward way to do so if LHS-only usages cause warnings. Also, It's quite useful to use type variables only on the LHS. Usage example: https://hackage.haskell.org/package/base-4.8.1.0/docs/src/Data.Type.Equality.html#EqStar
>
> -Michael
>
> On Thu, Dec 10, 2015 at 6:48 AM, Jan Stolarek <jan.stolarek at p.lodz.pl> wrote:
> An intersting thing came up when implementing warnings for unused type variables in type family
> patterns (#10982 / D1576):
>
> type family X a b where
> X a a = Int
>
> Should we emit a warning that `a` is unused? It does not appear in the RHS but it is actually used
> because of non-linear pattern. We can fix this by prefixing both appearances of `a` with an
> underscore - this silences the warning and maintains semantics. Nevertheless, if a variable is
> unused it should be perfectly valid to replace it with an underscore - that is not the case in
> this example. Thoughts?
>
> 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.
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
>
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20151211/696deb9a/attachment-0001.html>
More information about the ghc-devs
mailing list