[ghc-steering-committee] #556: multiple type variables in signatures in type applications in patterns, Recommendation: accept

Joachim Breitner mail at joachim-breitner.de
Fri Dec 9 19:07:07 UTC 2022


Dear all,

Vlad has submitted a bug fix amendment to #448, to fix the wording around
type variables in signatures within explicit type annotations:

https://github.com/ghc-proposals/ghc-proposals/pull/556/files

I’m shepherding that one myself.

The gist is that in
   
   data Proxy a = P
   g :: Proxy (Nothing @(a, a)) -> ()
   g (P @(Nothing :: Maybe (x, x))) = ()


the multiple occurrences of `a` are non-linear patterns and disallowed,
but the multiple patterns of `x` are fine, because that’s how type
variables in signatures in patterns happen to work. Vlad fixed the
wording with regard to that in #448.


Simon and Richard already signaled support on the Github thread, which
I recommend to follow. I don’t expect much further discussion around
this and will happily merge after a week of silence (or after one or
two additional confirmations).

Cheers,
Joachim



-- 
Joachim Breitner
  mail at joachim-breitner.de
  http://www.joachim-breitner.de/



More information about the ghc-steering-committee mailing list