<div dir="ltr">I think that's a nice idea.  In Cryptol we have both positional and named applications (as in your outline) and it works very nicely, I think.<div><br></div><div>-Iavor</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Aug 4, 2020 at 10:46 AM Anselm Schüler (conversations subemail) <<a href="mailto:conversation@anselmschueler.com">conversation@anselmschueler.com</a>> wrote:<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 lang="EN-US"><div class="gmail-m_-8260585920693637730WordSection1"><p class="MsoNormal">Thank you for the nice introduction :) !</p><p class="MsoNormal">I will check out the GHC proposals site.</p><p class="MsoNormal">And following Simon’s (I hope addressing with first name is OK) suggestion, I’m going to give an outline of the idea.</p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">The idea is to extend type application syntax to enable explicit assignment of types to specific type variables.</p><p class="MsoNormal">For instance, say I have <span style="font-family:"IBM Plex Mono"">f :: forall a b. (a, b) -> (b, a)</span>, and I want to apply the type <span style="font-family:"IBM Plex Mono"">[String]</span><span style="font-family:"Calibri Light",sans-serif"> to it. My only option is to do<u></u><u></u></span></p><p class="MsoNormal"><span style="font-family:"IBM Plex Mono"">f @([String]) <i><span style="color:rgb(118,113,113)">:: forall b. ([String], b) -> (b, [String]) </span><u></u><u></u></i></span></p><p class="MsoNormal">—but what if, instead, I want a function of type <span style="font-family:"IBM Plex Mono"">forall a. (a, [String]) -> ([String], a)</span>?<u></u><u></u></p><p class="MsoNormal">I propose the following syntax:<u></u><u></u></p><p class="MsoNormal"><span style="font-family:"IBM Plex Mono"">f @{b = [String]} <i><span style="color:rgb(118,113,113)">:: forall a. ([String], b) -> (b, [String])</span></i><span style="color:rgb(118,113,113)"><u></u><u></u></span></span></p><p class="MsoNormal">This wouldn’t break any existing programs since using record syntax here is already disallowed and met with an error message.<u></u><u></u></p><p class="MsoNormal">A question is of course the symbol used for assignment (<span style="font-family:"IBM Plex Mono"">~</span>, <span style="font-family:"IBM Plex Mono"">=</span>, <span style="font-family:"IBM Plex Mono"">::</span>, or <span style="font-family:"IBM Plex Mono"">-></span>?).<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">I hope the code shows up as a monospace font on your end. I used the IBM Plex Mono font, which is <a href="https://github.com/IBM/plex" target="_blank">open-source</a>.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><i>Anselm Schüler<u></u><u></u></i></p><p class="MsoNormal"><i><span style="color:rgb(68,114,196)"><a href="http://www.anselmschueler.com" target="_blank"><span style="color:rgb(68,114,196)">www.anselmschueler.com</span></a><u></u><u></u></span></i></p><p class="MsoNormal"><i><span style="color:rgb(68,114,196)"><a href="mailto:mail@anselmschueler.com" target="_blank"><span style="color:rgb(68,114,196)">mail@anselmschueler.com</span></a><u></u><u></u></span></i></p><p class="MsoNormal"><u></u> <u></u></p><div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0in 0in"><p class="MsoNormal" style="border:none;padding:0in"><b>From: </b><a href="mailto:simonpj@microsoft.com" target="_blank">Simon Peyton Jones</a><br><b>Sent: </b>Tuesday, August 4, 2020 18:44<br><b>To: </b><a href="mailto:rae@richarde.dev" target="_blank">Richard Eisenberg</a>; <a href="mailto:conversation@anselmschueler.com" target="_blank">"Anselm Schüler (conversations subemail)"</a><br><b>Cc: </b><a href="mailto:ghc-devs@haskell.org" target="_blank">ghc-devs@haskell.org</a><br><b>Subject: </b>RE: Hi. I'm new to this mailing list and have a few questions.</p></div><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><span lang="EN-GB">Welcome Anselm.  ghc-devs is a very informal mailing list, and we welcome newcomers.<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p><p class="MsoNormal" style="margin-left:0.5in"><span lang="EN-GB">For example, I have a feature idea in the back of my mind, which I imagine would be easy to implement<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-GB">What Richard says is right, but you should feel free to fly the kite on this list if you want – or on Haskell Café – to get some idea of whether others seem warm about the idea, before writing a full proposal.  <u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-GB">Simon<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p><div style="border-top:none;border-right:none;border-bottom:none;border-left:1.5pt solid blue;padding:0in 0in 0in 4pt"><div><div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0in 0in"><p class="MsoNormal"><b>From:</b> ghc-devs <<a href="mailto:ghc-devs-bounces@haskell.org" target="_blank">ghc-devs-bounces@haskell.org</a>> <b>On Behalf Of </b>Richard Eisenberg<br><b>Sent:</b> 04 August 2020 16:05<br><b>To:</b> "Anselm Schüler (conversations subemail)" <<a href="mailto:conversation@anselmschueler.com" target="_blank">conversation@anselmschueler.com</a>><br><b>Cc:</b> <a href="mailto:ghc-devs@haskell.org" target="_blank">ghc-devs@haskell.org</a><br><b>Subject:</b> Re: Hi. I'm new to this mailing list and have a few questions.<u></u><u></u></p></div></div><p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-GB">Hi Anselm,<u></u><u></u></span></p><div><p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p></div><div><p class="MsoNormal"><span lang="EN-GB">Welcome!<u></u><u></u></span></p></div><div><p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p></div><div><p class="MsoNormal"><span lang="EN-GB">A good way of getting used to a list like this one is to wait a little while and observe what kind of messages others send; this will give you a feel for how the list is used. If you're impatient, you can also check out the archives at <a href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail.haskell.org%2Fpipermail%2Fghc-devs%2F&data=02%7C01%7Csimonpj%40microsoft.com%7Ce68e6131af494519061c08d83887d962%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637321503404154244&sdata=w4QIMTGeMQ35bEo4xkOn2rIj8z02iMVje4Ar9AXM22k%3D&reserved=0" target="_blank">https://mail.haskell.org/pipermail/ghc-devs/</a>.<u></u><u></u></span></p></div><div><p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p></div><div><p class="MsoNormal"><span lang="EN-GB">As for a feature request: if your feature changes the language GHC accepts (most do), the right place to post is at <a href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fghc-proposals%2Fghc-proposals&data=02%7C01%7Csimonpj%40microsoft.com%7Ce68e6131af494519061c08d83887d962%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637321503404164244&sdata=ogVVk5kRFXPc81dZ%2FiyGV9FbgQoQUtzazpFGcrAKUXA%3D&reserved=0" target="_blank">https://github.com/ghc-proposals/ghc-proposals</a>. There is a description of how to proceed on that page. Proposals submitted there get debated within the community and then eventually sent to a GHC Steering Committee for a vote on acceptance or rejection. Then, we worry about implementing it. If you have a suggestion that does not change the language GHC accepts, you can post an Issue at <a href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitlab.haskell.org%2Fghc%2Fghc%2F&data=02%7C01%7Csimonpj%40microsoft.com%7Ce68e6131af494519061c08d83887d962%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637321503404164244&sdata=tg40q%2B9%2BW5KcVzHsPx9oCP7wdw5ipdZCOOdFnzUz3mU%3D&reserved=0" target="_blank">https://gitlab.haskell.org/ghc/ghc/</a>.<u></u><u></u></span></p></div><div><p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p></div><div><p class="MsoNormal"><span lang="EN-GB">I hope this is helpful!<u></u><u></u></span></p></div><div><p class="MsoNormal"><span lang="EN-GB">Richard<u></u><u></u></span></p></div><div><div><p class="MsoNormal" style="margin-bottom:12pt"><span lang="EN-GB"><u></u> <u></u></span></p><blockquote style="margin-top:5pt;margin-bottom:5pt"><div><p class="MsoNormal" style="margin-left:0.5in"><span lang="EN-GB">On Aug 4, 2020, at 8:59 AM, Anselm Schüler (conversations subemail) <<a href="mailto:conversation@anselmschueler.com" target="_blank">conversation@anselmschueler.com</a>> wrote:<u></u><u></u></span></p></div><p class="MsoNormal" style="margin-left:0.5in"><span lang="EN-GB"><u></u> <u></u></span></p><div><div><p class="MsoNormal" style="margin-left:0.5in"><span lang="EN-GB">First of all, in general, I’m new to mailing lists (as used for discussions) in general, so a question about that:<u></u><u></u></span></p></div><div><p class="MsoNormal" style="margin-left:0.5in"><span lang="EN-GB">When subscribed to the mailing list, do you get<span class="gmail-m_-8260585920693637730apple-converted-space"> </span><i>every</i><span class="gmail-m_-8260585920693637730apple-converted-space"> </span>message, or are some discussions hidden?<u></u><u></u></span></p></div><div><p class="MsoNormal" style="margin-left:0.5in"><span lang="EN-GB"> <u></u><u></u></span></p></div><div><p class="MsoNormal" style="margin-left:0.5in"><span lang="EN-GB">Second of all, I’d like to know what kinds of messages are appropriate here. I’m not familiar with coding compilers or anything of the like, so I’m somewhat afraid of offering unhelpful comments or being just woefully underqualified to participate here.<u></u><u></u></span></p></div><div><p class="MsoNormal" style="margin-left:0.5in"><span lang="EN-GB">For example, I have a feature idea in the back of my mind, which I imagine would be easy to implement (that might be wrong). Is it alright if I submit that here or should I use some other forum?<u></u><u></u></span></p></div><div><p class="MsoNormal" style="margin-left:0.5in"><span lang="EN-GB"> <u></u><u></u></span></p></div><div><p class="MsoNormal" style="margin-left:0.5in"><span lang="EN-GB">Thank you in advance for the answers.<u></u><u></u></span></p></div><div><p class="MsoNormal" style="margin-left:0.5in"><span lang="EN-GB"> <u></u><u></u></span></p></div><div><p class="MsoNormal" style="margin-left:0.5in"><i><span lang="EN-GB">Anselm Schüler</span></i><span lang="EN-GB"><u></u><u></u></span></p></div><div><p class="MsoNormal" style="margin-left:0.5in"><i><span lang="EN-GB" style="color:rgb(68,114,196)"><a href="https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.anselmschueler.com%2F&data=02%7C01%7Csimonpj%40microsoft.com%7Ce68e6131af494519061c08d83887d962%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637321503404164244&sdata=WJBJ3P%2BFUnTmVs9Z97DHLat9mHr6vC22l0mQ36nafGc%3D&reserved=0" target="_blank"><span style="color:rgb(68,114,196)">www.anselmschueler.com</span></a></span></i><span lang="EN-GB"><u></u><u></u></span></p></div><div><p class="MsoNormal" style="margin-left:0.5in"><i><span lang="EN-GB" style="color:rgb(68,114,196)"><a href="mailto:mail@anselmschueler.com" target="_blank"><span style="color:rgb(68,114,196)">mail@anselmschueler.com</span></a></span></i><span lang="EN-GB"><u></u><u></u></span></p></div><p class="MsoNormal" style="margin-left:0.5in"><span lang="EN-GB" style="font-size:9pt;font-family:Helvetica,sans-serif">_______________________________________________<br>ghc-devs mailing list<br></span><span lang="EN-GB"><a href="mailto:ghc-devs@haskell.org" target="_blank"><span style="font-size:90pt;font-family:Helvetica,sans-serif">ghc-devs@haskell.org</span></a></span><span lang="EN-GB" style="font-size:9pt;font-family:Helvetica,sans-serif"><br></span><span lang="EN-GB"><a href="https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmail.haskell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc-devs&data=02%7C01%7Csimonpj%40microsoft.com%7Ce68e6131af494519061c08d83887d962%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637321503404174237&sdata=9y99aKPjfvm7WIH5Xv9JDlN7TIXdVPJZF%2BvAgbUvBUU%3D&reserved=0" target="_blank"><span style="font-size:9pt;font-family:Helvetica,sans-serif">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</span></a><u></u><u></u></span></p></div></blockquote></div></div></div><p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p><p class="MsoNormal"><u></u> <u></u></p></div></div>
_______________________________________________<br>
ghc-devs mailing list<br>
<a href="mailto:ghc-devs@haskell.org" target="_blank">ghc-devs@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</a><br>
</blockquote></div>