<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Just as a heads up. You can achieve what you want already by
      doing:</p>
    <p><span style="font-family:"IBM Plex Mono""><font
          size="+1"><tt>f @_ @([String]) </tt></font><i><span
style="color:#767171;mso-style-textfill-fill-color:#767171;mso-style-textfill-fill-alpha:100.0%"><font
              size="+1"><tt>:: forall a. (a, </tt></font></span></i></span><span
        style="font-family:"IBM Plex Mono""><i><span
style="color:#767171;mso-style-textfill-fill-color:#767171;mso-style-textfill-fill-alpha:100.0%"><font
              size="+1"><tt><span style="font-family:"IBM Plex
                  Mono""><i><span
style="color:#767171;mso-style-textfill-fill-color:#767171;mso-style-textfill-fill-alpha:100.0%"><font
                        size="+1"><tt>[String]</tt></font></span></i></span>)
                -> (</tt></font></span></i></span><span
        style="font-family:"IBM Plex Mono""><i><span
style="color:#767171;mso-style-textfill-fill-color:#767171;mso-style-textfill-fill-alpha:100.0%"><font
              size="+1"><tt><span style="font-family:"IBM Plex
                  Mono""><i><span
style="color:#767171;mso-style-textfill-fill-color:#767171;mso-style-textfill-fill-alpha:100.0%"><font
                        size="+1"><tt>[String]</tt></font></span></i></span>,
                a</tt>) </font><br>
          </span></i></span></p>
    <p>Best regards,</p>
    <p> Rowan Goemans</p>
    <p>On 8/4/20 7:45 PM, Anselm Schüler (conversations subemail) wrote:<br>
    </p>
    <blockquote type="cite"
      cite="mid:1F3EEFFF-DABA-433F-921D-49D28EEF3A1A@hxcore.ol">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
        {font-family:Helvetica;
        panose-1:2 11 5 4 2 2 2 2 2 4;}
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"Calibri Light";
        panose-1:2 15 3 2 2 2 4 3 2 4;}
@font-face
        {font-family:"IBM Plex Mono";
        panose-1:2 11 5 9 5 2 3 0 2 3;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
span.apple-converted-space
        {mso-style-name:apple-converted-space;}
MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:70.85pt 70.85pt 56.7pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:7950896;
        mso-list-type:hybrid;
        mso-list-template-ids:-1946140076 -1 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:\F06E;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;
        mso-fareast-font-family:"Times New Roman";
        mso-bidi-font-family:Calibri;}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style>
      <div class="WordSection1">
        <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"><o:p> </o:p></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<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="font-family:"IBM Plex
            Mono"">f @([String]) <i><span
style="color:#767171;mso-style-textfill-fill-color:#767171;mso-style-textfill-fill-alpha:100.0%">::
                forall b. ([String], b) -> (b, [String]) </span><o:p></o:p></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>?<o:p></o:p></p>
        <p class="MsoNormal">I propose the following syntax:<o:p></o:p></p>
        <p class="MsoNormal"><span style="font-family:"IBM Plex
            Mono"">f @{b = [String]} <i><span
style="color:#767171;mso-style-textfill-fill-color:#767171;mso-style-textfill-fill-alpha:100.0%">::
                forall a. ([String], b) -> (b, [String])</span></i><span
style="color:#767171;mso-style-textfill-fill-color:#767171;mso-style-textfill-fill-alpha:100.0%"><o:p></o:p></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.<o:p></o:p></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>?).<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></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" moz-do-not-send="true">open-source</a>.<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><i>Anselm Schüler<o:p></o:p></i></p>
        <p class="MsoNormal"><i><span style="color:#4472C4"><a
                href="http://www.anselmschueler.com"
                moz-do-not-send="true"><span style="color:#4472C4">www.anselmschueler.com</span></a><o:p></o:p></span></i></p>
        <p class="MsoNormal"><i><span style="color:#4472C4"><a
                href="mailto:mail@anselmschueler.com"
                moz-do-not-send="true"><span style="color:#4472C4">mail@anselmschueler.com</span></a><o:p></o:p></span></i></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <div
          style="mso-element:para-border-div;border:none;border-top:solid
          #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
          <p class="MsoNormal" style="border:none;padding:0in"><b>From:
            </b><a href="mailto:simonpj@microsoft.com"
              moz-do-not-send="true">Simon Peyton Jones</a><br>
            <b>Sent: </b>Tuesday, August 4, 2020 18:44<br>
            <b>To: </b><a href="mailto:rae@richarde.dev"
              moz-do-not-send="true">Richard Eisenberg</a>; <a
              href="mailto:conversation@anselmschueler.com"
              moz-do-not-send="true">"Anselm Schüler (conversations
              subemail)"</a><br>
            <b>Cc: </b><a href="mailto:ghc-devs@haskell.org"
              moz-do-not-send="true">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"><o:p> </o:p></p>
        <p class="MsoNormal"><span lang="EN-GB">Welcome Anselm. 
            ghc-devs is a very informal mailing list, and we welcome
            newcomers.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></span></p>
        <p class="MsoNormal" style="margin-left:.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<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></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.  <o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-GB">Simon<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></span></p>
        <div style="border:none;border-left:solid blue 1.5pt;padding:0in
          0in 0in 4.0pt">
          <div>
            <div style="border:none;border-top:solid #E1E1E1
              1.0pt;padding:3.0pt 0in 0in 0in">
              <p class="MsoNormal"><b>From:</b> ghc-devs
                <a class="moz-txt-link-rfc2396E" href="mailto:ghc-devs-bounces@haskell.org"><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 class="moz-txt-link-rfc2396E" href="mailto:conversation@anselmschueler.com"><conversation@anselmschueler.com></a><br>
                <b>Cc:</b> <a class="moz-txt-link-abbreviated" href="mailto:ghc-devs@haskell.org">ghc-devs@haskell.org</a><br>
                <b>Subject:</b> Re: Hi. I'm new to this mailing list and
                have a few questions.<o:p></o:p></p>
            </div>
          </div>
          <p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></span></p>
          <p class="MsoNormal"><span lang="EN-GB">Hi Anselm,<o:p></o:p></span></p>
          <div>
            <p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span lang="EN-GB">Welcome!<o:p></o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></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"
                  moz-do-not-send="true">https://mail.haskell.org/pipermail/ghc-devs/</a>.<o:p></o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></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"
                  moz-do-not-send="true">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"
                  moz-do-not-send="true">https://gitlab.haskell.org/ghc/ghc/</a>.<o:p></o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span lang="EN-GB">I hope this is
                helpful!<o:p></o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span lang="EN-GB">Richard<o:p></o:p></span></p>
          </div>
          <div>
            <div>
              <p class="MsoNormal" style="margin-bottom:12.0pt"><span
                  lang="EN-GB"><o:p> </o:p></span></p>
              <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
                <div>
                  <p class="MsoNormal" style="margin-left:.5in"><span
                      lang="EN-GB">On Aug 4, 2020, at 8:59 AM, Anselm
                      Schüler (conversations subemail) <<a
                        href="mailto:conversation@anselmschueler.com"
                        moz-do-not-send="true">conversation@anselmschueler.com</a>>
                      wrote:<o:p></o:p></span></p>
                </div>
                <p class="MsoNormal" style="margin-left:.5in"><span
                    lang="EN-GB"><o:p> </o:p></span></p>
                <div>
                  <div>
                    <p class="MsoNormal" style="margin-left:.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:<o:p></o:p></span></p>
                  </div>
                  <div>
                    <p class="MsoNormal" style="margin-left:.5in"><span
                        lang="EN-GB">When subscribed to the mailing
                        list, do you get<span
                          class="apple-converted-space"> </span><i>every</i><span
                          class="apple-converted-space"> </span>message,
                        or are some discussions hidden?<o:p></o:p></span></p>
                  </div>
                  <div>
                    <p class="MsoNormal" style="margin-left:.5in"><span
                        lang="EN-GB"> <o:p></o:p></span></p>
                  </div>
                  <div>
                    <p class="MsoNormal" style="margin-left:.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.<o:p></o:p></span></p>
                  </div>
                  <div>
                    <p class="MsoNormal" style="margin-left:.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?<o:p></o:p></span></p>
                  </div>
                  <div>
                    <p class="MsoNormal" style="margin-left:.5in"><span
                        lang="EN-GB"> <o:p></o:p></span></p>
                  </div>
                  <div>
                    <p class="MsoNormal" style="margin-left:.5in"><span
                        lang="EN-GB">Thank you in advance for the
                        answers.<o:p></o:p></span></p>
                  </div>
                  <div>
                    <p class="MsoNormal" style="margin-left:.5in"><span
                        lang="EN-GB"> <o:p></o:p></span></p>
                  </div>
                  <div>
                    <p class="MsoNormal" style="margin-left:.5in"><i><span
                          lang="EN-GB">Anselm Schüler</span></i><span
                        lang="EN-GB"><o:p></o:p></span></p>
                  </div>
                  <div>
                    <p class="MsoNormal" style="margin-left:.5in"><i><span
                          style="color:#4472C4" lang="EN-GB"><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"
                            moz-do-not-send="true"><span
                              style="color:#4472C4">www.anselmschueler.com</span></a></span></i><span
                        lang="EN-GB"><o:p></o:p></span></p>
                  </div>
                  <div>
                    <p class="MsoNormal" style="margin-left:.5in"><i><span
                          style="color:#4472C4" lang="EN-GB"><a
                            href="mailto:mail@anselmschueler.com"
                            moz-do-not-send="true"><span
                              style="color:#4472C4">mail@anselmschueler.com</span></a></span></i><span
                        lang="EN-GB"><o:p></o:p></span></p>
                  </div>
                  <p class="MsoNormal" style="margin-left:.5in"><span
                      style="font-size:9.0pt;font-family:"Helvetica",sans-serif"
                      lang="EN-GB">_______________________________________________<br>
                      ghc-devs mailing list<br>
                    </span><span lang="EN-GB"><a
                        href="mailto:ghc-devs@haskell.org"
                        moz-do-not-send="true"><span
                          style="font-size:90pt;font-family:"Helvetica",sans-serif">ghc-devs@haskell.org</span></a></span><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif"
                      lang="EN-GB"><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"
                        moz-do-not-send="true"><span
                          style="font-size:9.0pt;font-family:"Helvetica",sans-serif">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</span></a><o:p></o:p></span></p>
                </div>
              </blockquote>
            </div>
          </div>
        </div>
        <p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></span></p>
        <p class="MsoNormal"><o:p> </o:p></p>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
ghc-devs mailing list
<a class="moz-txt-link-abbreviated" href="mailto:ghc-devs@haskell.org">ghc-devs@haskell.org</a>
<a class="moz-txt-link-freetext" href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</a>
</pre>
    </blockquote>
  </body>
</html>