<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">But is this summary correct:<div class=""><br class=""></div><div class=""><blockquote type="cite" class=""><span style="font-family: Menlo-Regular; font-size: 11px;" class="">- @ denotes a type application if it is preceded by a non-identifier character and succeeded by a non-whitespace character</span><br style="font-family: Menlo-Regular; font-size: 11px;" class=""><span style="font-family: Menlo-Regular; font-size: 11px;" class="">- @ denotes an as-pattern if is preceded by an identifier character or succeeded by a whitespace character</span><br style="font-family: Menlo-Regular; font-size: 11px;" class=""><br style="font-family: Menlo-Regular; font-size: 11px;" class=""><span style="font-family: Menlo-Regular; font-size: 11px;" class="">This means that `f@ Int` is an as-pattern.</span><br class=""></blockquote><div><br class=""></div><div>I still say this is an awkward twist, but I see what you're getting at.</div><div><br class=""></div><div>Richard</div><div><br class=""><blockquote type="cite" class=""><div class="">On Aug 20, 2018, at 9:05 AM, Simon Peyton Jones <<a href="mailto:simonpj@microsoft.com" class="">simonpj@microsoft.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">I think the goal is to preserve the syntactic space for<br class=""><span class="Apple-tab-span" style="white-space:pre">        </span>f ((f -> Just x) @ (g -> Just y)) = ...<br class="">as an "and-pattern" which matches both patterns and binds both x and y.  And also perhaps<br class=""><br class=""><span class="Apple-tab-span" style="white-space:pre">        </span>f ((f -> Just x)@(g -> Just y)) = ...<br class=""><br class="">by narrowing the situations in which "@" introduces a type argument to just<br class="">     <space>@<type><br class=""><br class="">with white space before, but not after the "@".<br class=""><br class="">And do to his in both terms and patterns.<br class=""><br class="">Simon<br class=""><br class="">|  -----Original Message-----<br class="">|  From: ghc-steering-committee <ghc-steering-committee-<br class="">|  <a href="mailto:bounces@haskell.org" class="">bounces@haskell.org</a>> On Behalf Of Richard Eisenberg<br class="">|  Sent: 19 August 2018 02:32<br class="">|  To: Joachim Breitner <<a href="mailto:mail@joachim-breitner.de" class="">mail@joachim-breitner.de</a>><br class="">|  Cc: <a href="mailto:ghc-steering-committee@haskell.org" class="">ghc-steering-committee@haskell.org</a><br class="">|  Subject: Re: [ghc-steering-committee] Discussion about "Type<br class="">|  Application in Patterns" (#126)<br class="">|  <br class="">|  So what's the new rule? Is it:<br class="">|  <br class="">|  - @ denotes a type application if it is preceded by a non-identifier<br class="">|  character and succeeded by a non-whitespace character<br class="">|  - @ denotes an as-pattern if is preceded by an identifier character or<br class="">|  succeeded by a whitespace character<br class="">|  <br class="">|  This means that `f@ Int` is an as-pattern.<br class="">|  <br class="">|  I think the new rule just adds another twist to an already too-<br class="">|  complicated plot.<br class="">|  <br class="">|  I'm not worried about backward-compat issues here (echoing Joachim's<br class="">|  sentiments) but I don't see the advantage to this new spec.<br class="">|  <br class="">|  Richard<br class="">|  <br class="">|  > On Aug 17, 2018, at 1:27 PM, Joachim Breitner <mail@joachim-<br class="">|  <a href="http://breitner.de" class="">breitner.de</a>> wrote:<br class="">|  ><br class="">|  > Hi,<br class="">|  ><br class="">|  > Am Freitag, den 17.08.2018, 13:00 -0400 schrieb Eric Seidel:<br class="">|  >> I've always thought of "@Int" as a single syntactic unit, so I'd be<br class="">|  happy to disallow spaces between the @ and the type.<br class="">|  ><br class="">|  > not opposed in principle, but if we go that route, it should also<br class="">|  > apply to type applications in expressions, for consistency. Are we<br class="">|  > willing to potentially break code out there?  (Well, it’s an<br class="">|  > extension, the fix is simple and fully backward-compatible, and most<br class="">|  > people probably got it right in the first place, so maybe breaking is<br class="">|  > not too bad.)<br class="">|  ><br class="">|  > Cheers,<br class="">|  > Joachim<br class="">|  ><br class="">|  ><br class="">|  > --<br class="">|  > Joachim Breitner<br class="">|  >  <a href="mailto:mail@joachim-breitner.de" class="">mail@joachim-breitner.de</a><br class="">|  ><br class="">|  ><br class="">|  <a href="https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.jo" class="">https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.jo</a><br class="">|  > achim-<br class="">|  <a href="http://breitner.de" class="">breitner.de</a>%2F&amp;data=02%7C01%7Csimonpj%<a href="http://40microsoft.com" class="">40microsoft.com</a>%7Ca3c9<br class="">|  ><br class="">|  e99884a34ec6670d08d605739f1f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C<br class="">|  ><br class="">|  0%7C636702391484409758&amp;sdata=mFolm%2BaXnNO%2FMdniUugnuqcotyGViJbtf<br class="">|  > qK%2FKD1VM0I%3D&amp;reserved=0<br class="">|  > _______________________________________________<br class="">|  > ghc-steering-committee mailing list<br class="">|  > <a href="mailto:ghc-steering-committee@haskell.org" class="">ghc-steering-committee@haskell.org</a><br class="">|  > <a href="https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-" class="">https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-</a><br class="">|  committ<br class="">|  > ee<br class="">|  <br class="">|  _______________________________________________<br class="">|  ghc-steering-committee mailing list<br class="">|  <a href="mailto:ghc-steering-committee@haskell.org" class="">ghc-steering-committee@haskell.org</a><br class="">|  <a href="https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-" class="">https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-</a><br class="">|  committee<br class=""></div></div></blockquote></div><br class=""></div></body></html>