<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Okay I see what you mean, thank you. :)<br>
    </p>
    <div class="moz-cite-prefix">Le 14/09/2021 à 16:37, Sebastian Graf a
      écrit :<br>
    </div>
    <blockquote type="cite"
cite="mid:CAAS+=P90RmZ1iHEF0Bn8iUAnFteFnT5BVNSSUYG+sCVwOj_3OA@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">
        <div>What I don't like:</div>
        <div>
          <ul>
            <li>I have to give a section name to an otherwise unused
              $chunk</li>
            <li>I can't refer to $chunk from other modules</li>
            <li>Everywhere I reference $chunk in a haddock, it gets
              inlined instead of appearing with its title or inserting a
              link with the section name it is currently decoupled from.<br>
            </li>
          </ul>
        </div>
      </div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">Am Di., 14. Sept. 2021 um
          16:25 Uhr schrieb Hécate <<a
            href="mailto:hecate@glitchbra.in" moz-do-not-send="true"
            class="moz-txt-link-freetext">hecate@glitchbra.in</a>>:<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>
            <p>Hi,<br>
              <br>
              The named chunks can be positioned through the use of the
              export list syntax:<br>
              <br>
              module Foo<br>
                ( main <br>
                -- * Section name that will appear<br>
                --<br>
                -- $chunk<br>
                )<br>
              <br>
              This should produce a free section that is not linked to
              any exported item.<br>
              I see you're already using them though, so maybe I am
              understanding something else?<br>
            </p>
            <div>Le 14/09/2021 à 16:00, Sebastian Graf a écrit :<br>
            </div>
            <blockquote type="cite">
              <div dir="ltr">
                <div>Hi,</div>
                <div><br>
                </div>
                <div>I've been using Haddock's named chunks feature too
                  when writing the docs for selective lambda lifting.</div>
                <div>This is the result: <a
href="https://hackage.haskell.org/package/ghc-8.10.2/docs/StgLiftLams.html"
                    target="_blank" moz-do-not-send="true"
                    class="moz-txt-link-freetext">https://hackage.haskell.org/package/ghc-8.10.2/docs/StgLiftLams.html</a>,
                  and this is how the source code looks: <a
href="https://hackage.haskell.org/package/ghc-8.10.2/docs/src/StgLiftLams.html"
                    target="_blank" moz-do-not-send="true"
                    class="moz-txt-link-freetext">https://hackage.haskell.org/package/ghc-8.10.2/docs/src/StgLiftLams.html</a></div>
                <div><br>
                </div>
                <div>I quite like it. As you can see, I enabled both the
                  existing Notes workflow and Haddock to work with it.
                  It takes a bit of annoying extra work, though.
                  Ideally, Haddock would simply recognise the Note
                  syntax directly or provide a similar alternative.</div>
                <div><br>
                </div>
                <div>And as far as linking is concerned: Sure, haddocks
                  don't have a title to refer to. But you can always
                  link to them by linking to the syntactic entity! For
                  example, if I want to link to DiagnosticReason from
                  Severity, I can simply do so by saying "Also see
                  'Severity'".</div>
                <div>I do admit this might not be enough info at the
                  reference site to determine whether the haddock linked
                  to is relevant to the particular goal I want to
                  achieve. Also as Simon points out, there are Notes
                  that don't have a clear "owner".</div>
                <div><br>
                </div>
                <div>
                  <div>Heck, even writing an unused binding
                    `_Late_lambda_lifting_in_STG` and put the haddocks
                    there would work, I suppose. We could simply link to
                    it with '_Late_lambda_lifting_in_STG' from other
                    haddocks.</div>
                </div>
                <div><br>
                </div>
                <div>My point is: If we managed to have something quite
                  like named chunks, but with a title and one place it
                  gets rendered and then linked to (I don't like that
                  named chunks are inlined into every use site), we
                  could probably agree on using that.</div>
                <div>Also I'd like to see the Notes rendered
                  *regardless* of whether the thing it is attached to is
                  exported. That would make Notes a lot more accessible.</div>
                <div><br>
                </div>
                <div>Sebastian<br>
                </div>
                <div><br>
                </div>
              </div>
              <br>
              <div class="gmail_quote">
                <div dir="ltr" class="gmail_attr">Am Di., 14. Sept. 2021
                  um 14:32 Uhr schrieb Hécate <<a
                    href="mailto:hecate@glitchbra.in" target="_blank"
                    moz-do-not-send="true" class="moz-txt-link-freetext">hecate@glitchbra.in</a>>:<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>
                    <p>> today’s Haddock doesn’t understand Notes. 
                      But we could fix that if we were minded to.<br>
                      <br>
                      I may have missed an episode or two here but what
                      prevents us from writing Notes as Named Chunks¹,
                      write them where Haddock expects you to put
                      documentation, and refer to them from the relevant
                      spot in the code?<br>
                      Viktor (in CC) has done a wonderful work at
                      producing nice layouts for Haddocks in base, and
                      we could learn a couple of lessons from his MRs.<br>
                    </p>
                    <p>---</p>
                    <p>Now, on the matter of improving Haddock to
                      understand GHC's notes, I'd like to remind
                      everyone that Haddock is currently understaffed in
                      terms of feature development, and I would like to
                      call to everyone with experience dealing with its
                      codebase to give a hand in refactoring, dusting
                      off and improving the code so that its
                      maintainability is not jeopardised by people
                      simply going elsewhere. <br>
                      Our bus factor (or as I like to call it, circus
                      factor), is quite terrifying considering the
                      importance of the tool in our ecosystem.<br>
                      <br>
                      <br>
                      ¹ <a
href="https://haskell-haddock.readthedocs.io/en/latest/markup.html#named-chunks"
                        target="_blank" moz-do-not-send="true"
                        class="moz-txt-link-freetext">https://haskell-haddock.readthedocs.io/en/latest/markup.html#named-chunks</a><br>
                      <br>
                    </p>
                    <div>Le 14/09/2021 à 13:56, Simon Peyton Jones via
                      ghc-devs a écrit :<br>
                    </div>
                    <blockquote type="cite">
                      <div>
                        <p class="MsoNormal">Alfredo writes (below for
                          full thread)</p>
                        <p class="MsoNormal"> </p>
                        <p class="MsoNormal" style="margin-left:36pt">That
                          is a deceptively simple question you ask there
                          :-) I don't have a strong view myself, but I
                          can offer the perspective of somebody who was
                          been for a long time on the "other side of the
                          trenches" (i.e. working Haskell programmer,
                          not necessarily working GHC programmer):</p>
                        <p class="MsoNormal" style="margin-left:36pt"> </p>
                        <p class="MsoNormal" style="margin-left:36pt">*
                          Blog post: yes, it's true that is a snapshot,
                          and it's true that is not under GHC's gitlab
                          umbrella, so I wouldn't treat it as a reliable
                          source of documentation (for the reasons you
                          also explain) but it's surely a good testament
                          that "at this point in time, for this
                          particular GHC commit, things were this way);</p>
                        <p class="MsoNormal" style="margin-left:36pt"> </p>
                        <p class="MsoNormal" style="margin-left:36pt">*
                          The wiki page: in the past, when I wanted to
                          learn more about some GHC feature, Google
                          would point me to the relevant Wiki page on
                          the GHC repo describing such a feature, but I
                          have to say I have almost always dismissed it,
                          because everybody knows Wikis are seldomly
                          up-to-date :) In order for a Wiki page to work
                          we would have to at least add a banner at the
                          top that states this can be trusted as a
                          reliable source of information, and offer in
                          the main section the current, up-to-date
                          design. We can still offer the historical
                          breakdown of the designs in later sections, as
                          it's still valuable info to keep;</p>
                        <p class="MsoNormal" style="margin-left:36pt"> </p>
                        <p class="MsoNormal" style="margin-left:36pt">*
                          GHC notes: I have always considered GHC notes
                          a double-edge sword -- from one side they are
                          immensely useful when navigating the source
                          code, but <span
style="font-size:10pt;font-family:"Arial",sans-serif;color:rgb(26,26,26)">these
                            won't be rendered in the Hackage's haddocks,
                            and this is not helpful for GHC-the-library
                            users willing to understand how to use (or
                            which is the semantic of) a particular type
                            (sure, one can click "Show Source" on
                            Hackage but it's an annoying extra step to
                            do just to hunt for notes). W</span>e
                          already have Notes for this work in strategic
                          places -- even better, we have proper Haddock
                          comments for things like "Severity vs
                          DiagnosticReason" , e.g. <a
href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitlab.haskell.org%2Fghc%2Fghc%2F-%2Fblob%2Fmaster%2Fcompiler%2FGHC%2FTypes%2FError.hs%23L279&data=04%7C01%7Csimonpj%40microsoft.com%7Cdb46814133bc4404b6d308d9685a487e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637655559255320972%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=WU2dKu2Q%2FFdwntJ2h%2F6zO1Ic01c9o0VhZc5JrE0AurY%3D&reserved=0"
                            target="_blank" moz-do-not-send="true">
https://gitlab.haskell.org/ghc/ghc/-/blob/master/compiler/GHC/Types/Error.hs#L279</a>
                          .</p>
                        <p class="MsoNormal"> </p>
                        <p class="MsoNormal"><span
style="font-size:10pt;font-family:"Arial",sans-serif;color:rgb(26,26,26)"> </span></p>
                        <p class="MsoNormal"><span>Yes Haddock doesn’t
                            understand Notes but that’s a deficiency in
                            Haddock!  There so much in GHC that simply
                            does not fit well with the Haddocks attached
                            to a particular data decl or function.  We
                            need Notes to explain how all the moving
                            parts fit together, and to point to them.  </span></p>
                        <p class="MsoNormal"><span> </span></p>
                        <p class="MsoNormal" style="margin-left:36pt">Even
                          better, we have proper Haddock comments for
                          things like "Severity vs DiagnosticReason" </p>
                        <p class="MsoNormal"> </p>
                        <p class="MsoNormal"><span>But I don’t think
                            this is better – I think it is significantly
                            worse!   In the case you cite, the Haddock
                            is about DiagnosticReason, and mentions
                            Severity only incidentally.  I bet that the
                            Haddock for Severity doesn’t refer to
                            this.   Nor is there a clear “Note [Severity
                            vs DiagnosticReason]” title that bits of
                            code across GHC can refer to by saying “See
                            Note [Severity vs DiagnosticReason]”.   It’s
                            far less satisfactory (to me) than a single
                            Note that</span></p>
                        <ul style="margin-top:0cm" type="disc">
                          <li style="margin-left:2.7pt"><span>covers
                              just <b>one topic</b> (the difference
                              between Severity and DiagnosticReason,
                              rather than fully describing either</span></li>
                          <li style="margin-left:2.7pt"><span>can be <b>pointed
                                to</b> symmetrically from both Severity
                              and DiagnosticReason</span></li>
                          <li style="margin-left:2.7pt"><span>can be <b>pointed
                                to</b> by many other bits of code</span></li>
                        </ul>
                        <p class="MsoNormal"><span> </span></p>
                        <p class="MsoNormal"><span>The way it is better
                            is that today’s Haddock doesn’t understand
                            Notes.  But we could fix that if we were
                            minded to.</span></p>
                        <p class="MsoNormal"><span><br>
                            Returning to how to document the
                            error-message architecture, if you’d prefer
                            to use a Note than a wiki page, that’s
                            fine.  But please write that Overview Note
                            that explains all the pieces, points to them
                            one by one.  And then copiously refer to
                            that Note from all those places, so people
                            will update it.</span></p>
                        <p class="MsoNormal"><span> </span></p>
                        <p class="MsoNormal" style="margin-left:36pt"><u>Hopefully
                            as the time goes by the new design will
                            "spread" across all the different peers
                            working on GHC, and it will become "second
                            nature".</u></p>
                        <p class="MsoNormal"><span> </span></p>
                        <p class="MsoNormal"><span>I really don’t think
                            that will happen unless there is a Note that
                            explains what the new design is!  Lacking
                            this explicit design, everyone will infer
                            their own mental model of how it all works
                            from sundry scattered clues – and those
                            mental models will differ.   So instead of
                            one thing “spreading”  a dozen subtly
                            different things will spread.  And then the
                            next one, confused by these slightly
                            different clues, will be even less coherent.</span></p>
                        <p class="MsoNormal"><span> </span></p>
                        <p class="MsoNormal"><span>Let’s have one,
                            fully-explicit version of The Plan that we
                            constantly refer to.</span></p>
                        <p class="MsoNormal"><span> </span></p>
                        <p class="MsoNormal"><span>cc’ing ghc-devs
                            because we must constantly question and
                            refine how we describe and document GHC.</span></p>
                        <p class="MsoNormal"><span> </span></p>
                        <p class="MsoNormal"><span>Simon</span></p>
                        <p class="MsoNormal"><span> </span></p>
                        <p class="MsoNormal"><span style="font-size:8pt">PS:
                            I am leaving Microsoft at the end of
                            November 2021, at which point <a
                              href="mailto:simonpj@microsoft.com"
                              target="_blank" moz-do-not-send="true"><span
                                style="color:rgb(5,99,193)">simonpj@microsoft.com</span></a>
                            will cease to work.  Use <a
                              href="mailto:simon.peytonjones@gmail.com"
                              target="_blank" moz-do-not-send="true"><span
                                style="color:rgb(5,99,193)">simon.peytonjones@gmail.com</span></a>
                            instead.  (For now, it just forwards to <a
                              href="mailto:simonpj@microsoft.com"
                              target="_blank" moz-do-not-send="true"
                              class="moz-txt-link-freetext">simonpj@microsoft.com</a>.)</span></p>
                        <p class="MsoNormal"><span> </span></p>
                        <div style="border-color:currentcolor
                          currentcolor currentcolor
                          blue;border-style:none none none
                          solid;border-width:medium medium medium
                          1.5pt;padding:0cm 0cm 0cm 4pt">
                          <div>
                            <div style="border-color:rgb(225,225,225)
                              currentcolor
                              currentcolor;border-style:solid none
                              none;border-width:1pt medium
                              medium;padding:3pt 0cm 0cm">
                              <p class="MsoNormal"><b><span lang="EN-US">From:</span></b><span
                                  lang="EN-US"> Alfredo Di Napoli <a
                                    href="mailto:alfredo.dinapoli@gmail.com"
                                    target="_blank"
                                    moz-do-not-send="true"><alfredo.dinapoli@gmail.com></a>
                                  <br>
                                  <b>Sent:</b> 26 August 2021 07:25<br>
                                  <b>To:</b> Simon Peyton Jones <a
                                    href="mailto:simonpj@microsoft.com"
                                    target="_blank"
                                    moz-do-not-send="true"><simonpj@microsoft.com></a><br>
                                  <b>Cc:</b> <a
                                    href="mailto:rae@richarde.dev"
                                    target="_blank"
                                    moz-do-not-send="true"
                                    class="moz-txt-link-freetext">rae@richarde.dev</a><br>
                                  <b>Subject:</b> Re: [Haskell
                                  Community] [Links] [Well-Typed Blog]
                                  The new GHC diagnostic infrastructure</span></p>
                            </div>
                          </div>
                          <p class="MsoNormal"> </p>
                          <div>
                            <div>
                              <div>
                                <div>
                                  <p class="MsoNormal"
                                    style="margin-right:0cm;margin-bottom:6pt;margin-left:0cm">Hello
                                    Simon!</p>
                                </div>
                                <p class="MsoNormal"
                                  style="margin-right:0cm;margin-bottom:6pt;margin-left:0cm"> </p>
                                <div>
                                  <div>
                                    <p class="MsoNormal"
                                      style="margin-right:0cm;margin-bottom:6pt;margin-left:0cm">On
                                      Wed, 25 Aug 2021 at 13:36, Simon
                                      Peyton Jones <<a
                                        href="mailto:simonpj@microsoft.com"
                                        target="_blank"
                                        moz-do-not-send="true"
                                        class="moz-txt-link-freetext">simonpj@microsoft.com</a>>
                                      wrote:</p>
                                  </div>
                                  <blockquote
                                    style="border-color:currentcolor
                                    currentcolor currentcolor
                                    rgb(204,204,204);border-style:none
                                    none none solid;border-width:medium
                                    medium medium 1pt;padding:0cm 0cm
                                    0cm
                                    6pt;margin-left:4.8pt;margin-right:0cm">
                                    <div>
                                      <div>
                                        <p class="MsoNormal">Alfredo</p>
                                        <p class="MsoNormal"> </p>
                                        <p class="MsoNormal">Thanks for
                                          all the work you are doing on
                                          GHC’s error message
                                          infrastructure.  Your blog
                                          post gives a great overview.</p>
                                      </div>
                                    </div>
                                  </blockquote>
                                  <div>
                                    <p class="MsoNormal"> </p>
                                  </div>
                                  <div>
                                    <p class="MsoNormal">Thanks, and I
                                      am glad you enjoyed it :) </p>
                                  </div>
                                  <div>
                                    <p class="MsoNormal"> </p>
                                  </div>
                                  <blockquote
                                    style="border-color:currentcolor
                                    currentcolor currentcolor
                                    rgb(204,204,204);border-style:none
                                    none none solid;border-width:medium
                                    medium medium 1pt;padding:0cm 0cm
                                    0cm
                                    6pt;margin-left:4.8pt;margin-right:0cm">
                                    <div>
                                      <div>
                                        <p class="MsoNormal"> </p>
                                        <p class="MsoNormal">As you know
                                          I’m very keen for GHC to have
                                          a Note or wiki page that gives
                                          a solid, up-to-date overview
                                          of all the moving parts.  (NOT
                                          the design alternatives, nor
                                          the time sequence; just the
                                          outcome.)  This is incredibly
                                          useful for our future selves;
                                          and it helps ensure that
                                          people understand (say) the
                                          difference between Severity
                                          and DiagnosticReason, and use
                                          them correctly.</p>
                                        <p class="MsoNormal"> </p>
                                        <p class="MsoNormal">So the
                                          question is: where is the
                                          canonical overview?  It could
                                          be</p>
                                        <ul type="disc">
                                          <li> Your blog post below. But
                                            that is a snapshot… you
                                            aren’t going to go back to
                                            edit it as the design
                                            evolves.  And it’s not in
                                            the repo.</li>
                                          <li> The wiki page: <a
href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitlab.haskell.org%2Fghc%2Fghc%2F-%2Fwikis%2FErrors-as-(structured)-values&data=04%7C01%7Csimonpj%40microsoft.com%7Cdb46814133bc4404b6d308d9685a487e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637655559255310976%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=A%2FyWqfqPWPYUk3EpaorYP29JvLIhgcdSdcYceFIKvhc%3D&reserved=0"
                                              target="_blank"
                                              moz-do-not-send="true">
https://gitlab.haskell.org/ghc/ghc/-/wikis/Errors-as-(structured)-values</a>. 
                                            But it’s hard to keep up to
                                            date (it was last edited 3
                                            months ago).</li>
                                          <li> Note(s) in the code.  We
                                            seem to use this
                                            increasingly, and it has the
                                            great merit of being part of
                                            the source code itself.  But
                                            then we need clear pointer
                                            to the canonical overview
                                            Notes, and need to make sure
                                            they are up to date.</li>
                                        </ul>
                                        <p class="MsoNormal"> </p>
                                        <p class="MsoNormal">I’m not
                                          advocating any particular path
                                          here… just wanting to be sure
                                          that we end up with a good
                                          overview somewhere! What is
                                          your view?</p>
                                        <p class="MsoNormal"> </p>
                                      </div>
                                    </div>
                                  </blockquote>
                                  <div>
                                    <p class="MsoNormal"> </p>
                                  </div>
                                  <div>
                                    <p class="MsoNormal"><u>TL;DR
                                        Probably a combo of a
                                        well-written (and up-to-date
                                        Wiki) plus some carefully added
                                        Notes (and Haddock comments) in
                                        GHC might do the trick.</u></p>
                                  </div>
                                  <div>
                                    <p class="MsoNormal"> </p>
                                  </div>
                                  <div>
                                    <p class="MsoNormal">That is a
                                      deceptively simple question you
                                      ask there :-) I don't have a
                                      strong view myself, but I can
                                      offer the perspective of somebody
                                      who was been for a long time on
                                      the "other side of the trenches"
                                      (i.e. working Haskell programmer,
                                      not necessarily working GHC
                                      programmer):</p>
                                  </div>
                                  <div>
                                    <p class="MsoNormal"> </p>
                                  </div>
                                  <div>
                                    <p class="MsoNormal">* Blog post:
                                      yes, it's true that is a snapshot,
                                      and it's true that is not under
                                      GHC's gitlab umbrella, so I
                                      wouldn't treat it as a reliable
                                      source of documentation (for the
                                      reasons you also explain) but it's
                                      surely a good testament that "at
                                      this point in time, for this
                                      particular GHC commit, things were
                                      this way);</p>
                                  </div>
                                  <div>
                                    <p class="MsoNormal"> </p>
                                  </div>
                                  <div>
                                    <p class="MsoNormal">* The wiki
                                      page: in the past, when I wanted
                                      to learn more about some GHC
                                      feature, Google would point me to
                                      the relevant Wiki page on the GHC
                                      repo describing such a feature,
                                      but I have to say I have almost
                                      always dismissed it, because
                                      everybody knows Wikis are seldomly
                                      up-to-date :) In order for a Wiki
                                      page to work we would have to at
                                      least add a banner at the top that
                                      states this can be trusted as a
                                      reliable source of information,
                                      and offer in the main section the
                                      current, up-to-date design. We can
                                      still offer the historical
                                      breakdown of the designs in later
                                      sections, as it's still valuable
                                      info to keep;</p>
                                  </div>
                                  <div>
                                    <p class="MsoNormal"> </p>
                                  </div>
                                  <div>
                                    <p class="MsoNormal">* GHC notes: I
                                      have always considered GHC notes a
                                      double-edge sword -- from one side
                                      they are immensely useful when
                                      navigating the source code, but <span
style="font-size:10pt;font-family:"Arial",sans-serif;color:rgb(26,26,26)">these
                                        won't be rendered in the
                                        Hackage's haddocks, and this is
                                        not helpful for GHC-the-library
                                        users willing to understand how
                                        to use (or which is the semantic
                                        of) a particular type (sure, one
                                        can click "Show Source" on
                                        Hackage but it's an annoying
                                        extra step to do just to hunt
                                        for notes). W</span>e already
                                      have Notes for this work in
                                      strategic places -- even better,
                                      we have proper Haddock comments
                                      for things like "Severity vs
                                      DiagnosticReason" , e.g. <a
href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitlab.haskell.org%2Fghc%2Fghc%2F-%2Fblob%2Fmaster%2Fcompiler%2FGHC%2FTypes%2FError.hs%23L279&data=04%7C01%7Csimonpj%40microsoft.com%7Cdb46814133bc4404b6d308d9685a487e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637655559255320972%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=WU2dKu2Q%2FFdwntJ2h%2F6zO1Ic01c9o0VhZc5JrE0AurY%3D&reserved=0"
                                        target="_blank"
                                        moz-do-not-send="true">
https://gitlab.haskell.org/ghc/ghc/-/blob/master/compiler/GHC/Types/Error.hs#L279</a>
                                      .</p>
                                  </div>
                                  <div>
                                    <p class="MsoNormal"> </p>
                                  </div>
                                  <div>
                                    <p class="MsoNormal"><u>So, in
                                        practical terms, I suggest we
                                        (I) give the Wiki a little
                                        overhaul to add at the top the
                                        current design (or anything not
                                        captured directly in GHC's
                                        source code) and I will keep an
                                        eye on the GHC notes and Haddock
                                        comments to see if there is
                                        anything worth adding. Hopefully
                                        as the time goes by the new
                                        design will "spread" across all
                                        the different peers working on
                                        GHC, and it will become "second
                                        nature".</u></p>
                                  </div>
                                  <div>
                                    <p class="MsoNormal"> </p>
                                  </div>
                                  <div>
                                    <p class="MsoNormal">Hope it helps,
                                      and sorry for the long ramble!</p>
                                  </div>
                                  <div>
                                    <p class="MsoNormal"> </p>
                                  </div>
                                  <div>
                                    <p class="MsoNormal">Alfredo</p>
                                  </div>
                                  <div>
                                    <p class="MsoNormal"> </p>
                                  </div>
                                  <div>
                                    <p class="MsoNormal"> </p>
                                  </div>
                                  <blockquote
                                    style="border-color:currentcolor
                                    currentcolor currentcolor
                                    rgb(204,204,204);border-style:none
                                    none none solid;border-width:medium
                                    medium medium 1pt;padding:0cm 0cm
                                    0cm
                                    6pt;margin-left:4.8pt;margin-right:0cm">
                                    <div>
                                      <div>
                                        <p class="MsoNormal">Thanks</p>
                                        <p class="MsoNormal"> </p>
                                        <p class="MsoNormal">Simon</p>
                                        <p class="MsoNormal"> </p>
                                        <div
                                          style="border-color:currentcolor
                                          currentcolor currentcolor
                                          blue;border-style:none none
                                          none solid;border-width:medium
                                          medium medium
                                          1.5pt;padding:0cm 0cm 0cm 4pt">
                                          <div>
                                            <div
                                              style="border-color:rgb(225,225,225)
                                              currentcolor
                                              currentcolor;border-style:solid
                                              none none;border-width:1pt
                                              medium medium;padding:3pt
                                              0cm 0cm">
                                              <p class="MsoNormal"><b><span
                                                    lang="EN-US">From:</span></b><span
                                                  lang="EN-US"> Alfredo
                                                  Di Napoli via Haskell
                                                  Community <<a
                                                    href="mailto:discourse@haskell.org"
                                                    target="_blank"
                                                    moz-do-not-send="true"
class="moz-txt-link-freetext">discourse@haskell.org</a>> <br>
                                                  <b>Sent:</b> 23 August
                                                  2021 11:26<br>
                                                  <b>To:</b> Simon
                                                  Peyton Jones <<a
                                                    href="mailto:simonpj@microsoft.com"
                                                    target="_blank"
                                                    moz-do-not-send="true"
class="moz-txt-link-freetext">simonpj@microsoft.com</a>><br>
                                                  <b>Subject:</b>
                                                  [Haskell Community]
                                                  [Links] [Well-Typed
                                                  Blog] The new GHC
                                                  diagnostic
                                                  infrastructure</span></p>
                                            </div>
                                          </div>
                                          <p class="MsoNormal"> </p>
                                          <div>
                                            <div
                                              style="margin-bottom:18.75pt">
                                              <table cellspacing="0"
                                                cellpadding="0"
                                                border="0">
                                                <tbody>
                                                  <tr>
                                                    <td
                                                      style="width:41.25pt;padding:0cm"
                                                      width="55"
                                                      valign="top">
                                                      <p
                                                        class="MsoNormal"><span
style="font-family:"Helvetica",sans-serif;border:1pt solid
                                                          windowtext;padding:0cm"><img
                                                          style="width:
                                                          0.4687in;
                                                          height:
                                                          0.4687in;"
id="gmail-m_-1580137632569253990gmail-m_-6284922900694096142gmail-m_4686577435606355590Picture_x0020_1"
src="cid:part1.RQ8hXCf6.P0kI0rg5@glitchbra.in" alt="Image removed by
                                                          sender."
                                                          class=""
                                                          width="45"
                                                          height="45"
                                                          border="0"></span></p>
                                                    </td>
                                                    <td
                                                      style="padding:0cm">
                                                      <p
                                                        class="MsoNormal"><span
style="font-family:"Helvetica",sans-serif"><a
href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdiscourse.haskell.org%2Fu%2Fadinapoli&data=04%7C01%7Csimonpj%40microsoft.com%7Cdb46814133bc4404b6d308d9685a487e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637655559255330973%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=PgX4crGMBTWVwI2UMcq%2BIFDZ0dDr%2FRWNYZdV%2Fqi8mX8%3D&reserved=0"
target="_blank" moz-do-not-send="true"><b><span
style="font-size:10pt;font-family:"Tahoma",sans-serif;color:rgb(0,102,153);text-decoration:none">adinapoli</span></b></a>
                                                          <br>
                                                        </span><span
style="font-size:8.5pt;font-family:"Tahoma",sans-serif;color:rgb(153,153,153)">August
                                                          23</span><span
style="font-family:"Helvetica",sans-serif"> </span></p>
                                                    </td>
                                                  </tr>
                                                </tbody>
                                              </table>
                                              <div>
                                                <div style="border:4.5pt
                                                  solid
                                                  rgb(233,233,233);padding:9pt
                                                  19pt 9pt 9pt">
                                                  <div>
                                                    <p class="MsoNormal"><span
style="border:1pt solid windowtext;padding:0cm" lang="EN-US"><img
                                                          style="width:
                                                          0.3333in;
                                                          height:
                                                          0.3333in;"
id="gmail-m_-1580137632569253990gmail-m_-6284922900694096142gmail-m_4686577435606355590Picture_x0020_2"
src="cid:part1.RQ8hXCf6.P0kI0rg5@glitchbra.in" alt="Image removed by
                                                          sender."
                                                          class=""
                                                          width="32"
                                                          height="32"
                                                          border="0"></span><span
                                                        lang="EN-US"><a
href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwell-typed.com%2Fblog%2F2021%2F08%2Fthe-new-ghc-diagnostic-infrastructure%2F&data=04%7C01%7Csimonpj%40microsoft.com%7Cdb46814133bc4404b6d308d9685a487e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637655559255340965%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=X51rdrGoKmUBPB8upLVL69LyInf%2BsYYQqM%2Fd4PnLnGQ%3D&reserved=0"
target="_blank" moz-do-not-send="true"><b><span
                                                          style="color:rgb(0,102,153);text-decoration:none">well-typed.com</span></b></a>
                                                      </span></p>
                                                  </div>
                                                  <div>
                                                    <p class="MsoNormal"><b><span
                                                          lang="EN-US">Error!
                                                          Filename not
                                                          specified.</span></b></p>
                                                    <h3
                                                      style="margin-bottom:15pt"><span
style="font-size:13pt" lang="EN-US"><a
href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwell-typed.com%2Fblog%2F2021%2F08%2Fthe-new-ghc-diagnostic-infrastructure%2F&data=04%7C01%7Csimonpj%40microsoft.com%7Cdb46814133bc4404b6d308d9685a487e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637655559255340965%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=X51rdrGoKmUBPB8upLVL69LyInf%2BsYYQqM%2Fd4PnLnGQ%3D&reserved=0"
target="_blank" moz-do-not-send="true"><span
                                                          style="color:rgb(0,102,153);text-decoration:none">The
                                                          new GHC
                                                          diagnostic
                                                          infrastructure
                                                          - Well-Typed:
                                                          The Haskell
                                                          Consultants</span></a></span></h3>
                                                  </div>
                                                </div>
                                              </div>
                                            </div>
                                            <div>
                                              <div class="MsoNormal"
                                                style="text-align:center"
                                                align="center"><span
                                                  style="color:rgb(102,102,102)"
                                                  lang="EN-US">
                                                  <hr width="100%"
                                                    size="1"
                                                    align="center"> </span></div>
                                              <p><span
                                                  style="color:rgb(102,102,102)"
                                                  lang="EN-US"><a
href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdiscourse.haskell.org%2Ft%2Fwell-typed-blog-the-new-ghc-diagnostic-infrastructure%2F2918%2F1&data=04%7C01%7Csimonpj%40microsoft.com%7Cdb46814133bc4404b6d308d9685a487e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637655559255350960%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=tOfAGO5BbhanwBDgMA6eqpgKCLcLTtkum8QOuMsROdc%3D&reserved=0"
                                                    target="_blank"
                                                    moz-do-not-send="true"><b><span
style="color:white;border:3pt solid
                                                        rgb(47,112,172);padding:0cm;background:rgb(47,112,172)
                                                        none repeat
                                                        scroll 0%
                                                        0%;text-decoration:none">Visit
                                                        Topic</span></b></a>
                                                  or reply to this email
                                                  to respond.</span></p>
                                            </div>
                                            <div>
                                              <p><span
                                                  style="color:rgb(102,102,102)"
                                                  lang="EN-US">You are
                                                  receiving this because
                                                  you enabled mailing
                                                  list mode.</span></p>
                                              <p><span
                                                  style="color:rgb(102,102,102)"
                                                  lang="EN-US">To
                                                  unsubscribe from these
                                                  emails, <a
href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdiscourse.haskell.org%2Femail%2Funsubscribe%2F962dfad7651b2ce3d7e30ba9267bdb857c77298d6fdec12626b65e014aaeee33&data=04%7C01%7Csimonpj%40microsoft.com%7Cdb46814133bc4404b6d308d9685a487e%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637655559255360954%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=4616hEpSSUcOZ5zQYZMmEbF6mTJcIVKx2nlgA8ENsHM%3D&reserved=0"
                                                    target="_blank"
                                                    moz-do-not-send="true">
                                                    <b><span
                                                        style="color:rgb(102,102,102);text-decoration:none">click
                                                        here</span></b></a>.</span></p>
                                            </div>
                                          </div>
                                          <div>
                                            <p class="MsoNormal"
                                              style="line-height:0%"><span
style="font-size:11.5pt;font-family:Courier" lang="EN-US">             
                                                                       
                                                                     </span></p>
                                          </div>
                                        </div>
                                      </div>
                                    </div>
                                  </blockquote>
                                </div>
                              </div>
                            </div>
                          </div>
                        </div>
                      </div>
                      <br>
                      <fieldset></fieldset>
                      <pre>_______________________________________________
ghc-devs mailing list
<a href="mailto:ghc-devs@haskell.org" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">ghc-devs@haskell.org</a>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</a>
</pre>
                    </blockquote>
                    <pre cols="72">-- 
Hécate ✨
🐦: @TechnoEmpress
IRC: Hecate
WWW: <a href="https://glitchbra.in" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">https://glitchbra.in</a>
RUN: BSD</pre>
                  </div>
                  _______________________________________________<br>
                  ghc-devs mailing list<br>
                  <a href="mailto:ghc-devs@haskell.org" target="_blank"
                    moz-do-not-send="true" class="moz-txt-link-freetext">ghc-devs@haskell.org</a><br>
                  <a
                    href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs"
                    rel="noreferrer" target="_blank"
                    moz-do-not-send="true" class="moz-txt-link-freetext">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</a><br>
                </blockquote>
              </div>
            </blockquote>
            <pre cols="72">-- 
Hécate ✨
🐦: @TechnoEmpress
IRC: Hecate
WWW: <a href="https://glitchbra.in" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">https://glitchbra.in</a>
RUN: BSD</pre>
          </div>
        </blockquote>
      </div>
    </blockquote>
    <pre class="moz-signature" cols="72">-- 
Hécate ✨
🐦: @TechnoEmpress
IRC: Hecate
WWW: <a class="moz-txt-link-freetext" href="https://glitchbra.in">https://glitchbra.in</a>
RUN: BSD</pre>
  </body>
</html>