<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&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&sdata=mFolm%2BaXnNO%2FMdniUugnuqcotyGViJbtf<br class="">| > qK%2FKD1VM0I%3D&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>