<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>