<html><body><div dir="ltr">
Hi,</div><div dir="ltr">I am also happy with the proposal. The only thing I could not figure out is whether changing the COMPLETE sets to the new syntax works also in the old one. I mean, would a way to ensure compatibility with both current GHC, and GHC+this proposal to write:</div><div dir="ltr"><br></div><div dir="ltr">{-# COMPLETE … :: Either l r #-}</div><div dir="ltr"><br></div><div dir="ltr">Regards,</div><div dir="ltr">Alejandro<br><br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">El 16 sept 2021 18:55:46, Joachim Breitner <<a href="mailto:mail@joachim-breitner.de">mail@joachim-breitner.de</a>> escribió:<br></div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<div>
Hi,<br><br>very convincing proposal, so I am happy with it.<br><br>I’ll ask a minor question about breaking existing COMPLETE pragmas on<br>Github.<br><br>Cheers,<br>Joachim<br><br>Am Donnerstag, dem 16.09.2021 um 19:07 +0300 schrieb Vladislav Zavialov<br>(int-index):<br><blockquote type="cite"> Dear Committee,<br></blockquote><blockquote type="cite"> <br></blockquote><blockquote type="cite"> Proposal #400 "COMPLETE set signatures” by Sebastian Graf has been submitted for our consideration.<br></blockquote><blockquote type="cite"> <br></blockquote><blockquote type="cite"> Read it here: <a href="https://github.com/sgraf812/ghc-proposals/blob/constrained-complete-sigs/proposals/0000-complete-set-signatures.rst">https://github.com/sgraf812/ghc-proposals/blob/constrained-complete-sigs/proposals/0000-complete-set-signatures.rst</a><br></blockquote><blockquote type="cite"> Discussion here: <a href="https://github.com/ghc-proposals/ghc-proposals/pull/400">https://github.com/ghc-proposals/ghc-proposals/pull/400</a><br></blockquote><blockquote type="cite"> <br></blockquote><blockquote type="cite"> The proposal presents an alternative treatment for type annotations on COMPLETE pragmas. Today one could write<br></blockquote><blockquote type="cite"> <br></blockquote><blockquote type="cite"> {-# COMPLETE P, Q :: Either #-}<br></blockquote><blockquote type="cite"> <br></blockquote><blockquote type="cite"> where P and Q are some pattern synonyms. But this isn’t even well-kinded.<br></blockquote><blockquote type="cite"> <br></blockquote><blockquote type="cite"> Instead, the author proposes that we ask our users to write<br></blockquote><blockquote type="cite"> <br></blockquote><blockquote type="cite"> {-# COMPLETE P, Q :: Either l r #-}<br></blockquote><blockquote type="cite"> <br></blockquote><blockquote type="cite"> By requiring a proper type on the RHS, we also gain the ability to talk about more advanced use cases (described in the proposal).<br></blockquote><blockquote type="cite"> <br></blockquote><blockquote type="cite"> I recommend acceptance. In fact, I learned about the way these annotations are treated today only from reading the proposal, and it came as a surprise to me. Using proper, well-kinded types there, seems like the right thing to do even if we ignore the new use cases it enables.<br></blockquote><blockquote type="cite"> <br></blockquote><blockquote type="cite"> Let me know what you think.<br></blockquote><blockquote type="cite"> <br></blockquote><blockquote type="cite"> - Vlad<br></blockquote><blockquote type="cite"> _______________________________________________<br></blockquote><blockquote type="cite"> ghc-steering-committee mailing list<br></blockquote><blockquote type="cite"> <a href="mailto:ghc-steering-committee@haskell.org">ghc-steering-committee@haskell.org</a><br></blockquote><blockquote type="cite"> <a href="https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee">https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee</a><br></blockquote><br>-- <br>Joachim Breitner<br> <a href="mailto:mail@joachim-breitner.de">mail@joachim-breitner.de</a><br> <a href="http://www.joachim-breitner.de/">http://www.joachim-breitner.de/</a><br><br><br>_______________________________________________<br>ghc-steering-committee mailing list<br><a href="mailto:ghc-steering-committee@haskell.org">ghc-steering-committee@haskell.org</a><br><a href="https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee">https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee</a><br>
</div>
</div>
</blockquote>
</div>
</div></body></html>