<html><body>
        <div dir="ltr">
    Dear all,</div><div dir="ltr">As the shepherd of this proposal, I’m quite confused about what the outcome should be. The ghc-proposals README states that:</div><div dir="ltr"><font face=".AppleSystemUIFont"><span style="font-style:normal"><br></span></font></div><blockquote style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex" class="gmail_quote"><div dir="ltr"><font face=".AppleSystemUIFont"><span style="font-style:normal"><span style="color:rgb(36,41,46)">Acceptance of the proposal implies that the implementation will be accepted into GHC provided it is well-engineered, well-documented, and does not complicate the code-base too much.</span><br></span></font></div></blockquote><div dir="ltr"><font face=".AppleSystemUIFont"><span style="font-style:normal"><br></span></font></div><div dir="ltr">Most of the Committee seems to lean towards “this seems OK right now, but we don’t want to be locked” or “mark this as experimental”. However, there’s no such notion as “accept as experimental”. Furthermore, as it stands the proposal gives some syntax, and then asks any new extensions to use that syntax; so it cannot be completely thought as a feature by itself.</div><div dir="ltr"><br></div><div dir="ltr">Regards,</div><div dir="ltr">Alejandro<br><br>
    <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">On 9 Dec 2020 at 15:59:43, Spiwack, Arnaud <<a href="mailto:arnaud.spiwack@tweag.io">arnaud.spiwack@tweag.io</a>> wrote:<br></div>
        <blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
            <div dir="ltr"><div>It's always possible to change. I don't think accepting a proposal means (or ought to mean) that we are locked into anything. Accepting a proposal means that we won't oppose a design-related argument to a PR that implements (part or all of) an accepted proposal.</div><div><br></div><div>I don't know how to quantify the degree of confidence that we have in the stability of a proposal. Here we are all saying: this is better than anything so far, and we rather need something like this to be a thing, but it's really a shot in the dark. And this lack of confidence will be reflected in the manual description. But even if we are confident in the stability of a proposal, it may very well happen that it changes dramatically, even soon.<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Dec 9, 2020 at 2:55 PM Simon Peyton Jones via ghc-steering-committee <<a href="mailto:ghc-steering-committee@haskell.org">ghc-steering-committee@haskell.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">





<div style="overflow-wrap: break-word;" lang="EN-GB">
<div class="gmail-m_433325338836867682WordSection1">
<p class="MsoNormal"><span>I’ve replied on GitHub.  Generally in favour.  But mark it as experimental… I don’t want to be locked into “we decided on this in Dec 2020 so now it’s too late”.  WE can learn from experience.<u></u><u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></span></p>
<p class="MsoNormal"><span>Simon<u></u><u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></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"> ghc-steering-committee <<a href="mailto:ghc-steering-committee-bounces@haskell.org" target="_blank">ghc-steering-committee-bounces@haskell.org</a>>
<b>On Behalf Of </b>Alejandro Serrano Mena<br>
<b>Sent:</b> 03 December 2020 20:17<br>
<b>To:</b> Richard Eisenberg <<a href="mailto:rae@richarde.dev" target="_blank">rae@richarde.dev</a>><br>
<b>Cc:</b> <a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a><br>
<b>Subject:</b> Re: [ghc-steering-committee] #370: Syntax for Modifiers, Recommendation: Acceptance<u></u><u></u></span></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">Dear Committee,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Richard has requested for us to consider the new version of this proposal. As opposed to the previous version, this one is only about reserving syntax for “modifiers”, which at the beginning would be used for things like linearity or matchability
 of arrows.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I think this is a good proposal, and one which would save us from re-considering syntax for every possible extension (and if linearity appears before the arrow and matchability after it, where would a future dimension go?). Thus I keep
 recommending acceptance on this new incarnation.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Regards,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Alejandro<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12pt"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">On 30 Nov 2020 at 20:52:26, Richard Eisenberg <<a href="mailto:rae@richarde.dev" target="_blank">rae@richarde.dev</a>> wrote:<u></u><u></u></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>
<p class="MsoNormal">To my surprise, I found myself leaning against. So I updated and simplified the proposal to remove Modifier. This makes modifiers a bit more magical, but more likely to actually work in practice. The type inference story previously may
 have been intractable.<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I've requested that the committee consider the updates in parallel with community feedback.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Thanks,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Richard<u></u><u></u></p>
<div>
<p class="MsoNormal"><br>
<br>
<u></u><u></u></p>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<div>
<p class="MsoNormal">On Nov 30, 2020, at 2:36 PM, Alejandro Serrano Mena <<a href="mailto:trupill@gmail.com" target="_blank">trupill@gmail.com</a>> wrote:<u></u><u></u></p>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<div>
<p class="MsoNormal">After some discussion in the GitHub thread, changes are going to arrive to the proposal. I think the best is to send the proposal back to the “Needs revision” state.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Regards,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Alejandro<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">On 29 Nov 2020 at 23:12:44, Eric Seidel <<a href="mailto:eric@seidel.io" target="_blank">eric@seidel.io</a>> wrote:<u></u><u></u></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>
<p class="MsoNormal">I left a few comments and questions on the PR itself, but I'm leaning towards rejecting the proposal in its current form as well. This doesn't (yet) feel like a generic mechanism, in particular because the only modifier that has been specified
 would be deeply wired into GHC itself.<br>
<br>
On Fri, Nov 27, 2020, at 04:46, Joachim Breitner wrote:<br>
<br>
<u></u><u></u></p>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">Hi,<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal"><u></u> <u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">Am Donnerstag, den 26.11.2020, 14:58 -0500 schrieb Alejandro Serrano<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">Mena:<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">> Dear all,<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">> This proposal suggests adding syntax for a general notion of<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">> modifiers, like the ones we’ve been talking about lately affecting<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">> linearity or matchability of arrows. For example, if linear types and<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">> unsaturated families are accepted as they stand, we would have `Int<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">> #1 -> @U Bool` (or something like that), whereas with this proposal<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">> we would have the more uniform `Int %1 %Unmatchable -> Bool`.<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">> <u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">> Since the amount of modifiers is likely to increase in the future, I<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">> think it’s a great idea to agree and reserve such syntax, instead of<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">> coming up with different ways on each proposal. I thus recommend<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">> acceptance of this proposal.<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">> <u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">> The proposal itself:<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">> (1) introduces syntax for modifiers in types and defines how to<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">> type/kind check them,<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">> (2) reserved such syntax for other uses in declarations and terms.<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">> <u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">> I think the proposal still has its merits only with (1), even though<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">> I lean towards accepting both parts of it.<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal"><u></u> <u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">I like the idea of reserving syntax here, but parts of the proposal<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">smell a bit like premature generalization to me. Are we confident that<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">all annotations we eventually would like to use with this feature can<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">be expressed as types of a kind that is an instance of Modifier? Or<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">should we reserve the ability to have annotations that don't fit that<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">model?<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal"><u></u> <u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">Would we ever have annotation that may affect phases earlier than than<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">typechecking? What if we want to use (%type e) and (%data e) to help<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">with the SingleNamepace issues? Look like useful annotations to me, but<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">I am not sure if they fit the framework proposed here.<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal"><u></u> <u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">The fact that we special-case %1 supports that.<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal"><u></u> <u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">The proposal explicitly has to state “No modifier polymorphism!”. But<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">isn't that indication that using the type system to model the various<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">modifiers might be the wrong tool?<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal"><u></u> <u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">I wonder if there is a way where the %(…) on it’s own only reserve<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">syntax, and the various uses of that syntax can be disambiguated<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">_statically_ based on the content of …. <u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal"><u></u> <u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">Not great syntax, because not concise, enough, but morally I’d feel<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">more at ease with<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal"><u></u> <u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">  Int %(multiplicity Many) -> Int<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">  Int %(multiplicity 1) -> Int<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">  Int %(multiplicity m) -> Int<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal"><u></u> <u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">where multiplicity is a modifier keyword, to express the existing<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">features (including implicit generalization of m). Then we can extend<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">this to<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal"><u></u> <u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">  Int %oneShot -> Int<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal"><u></u> <u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">and<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal"><u></u> <u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">  Int %(matchability M) -> Int<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal"><u></u> <u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">and maybe even<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal"><u></u> <u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">  foo (%type [a]) -- where foo :: forall a -> ()<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal"><u></u> <u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">which is a modifier that <u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal"><u></u> <u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal"><u></u> <u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">So at the moment, I am inclined to reject this proposal, until I am<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">convinced that we are not painting ourselves into a “all modifiers are<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">types of special kinds and that’s all the syntax and behaviour we ever<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">need” corner.<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal"><u></u> <u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">Minor detail: If we can annotate infix use of the (->) “type operator”,<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">should we also be able to annotate other infix operators, i.e.<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal"><u></u> <u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">  constr ::= (btype | ! atype) {modifier} conop (btype | ! atype)
<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">  infixexp ::= lexp {modifier} qop infixexp<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal"><u></u> <u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal"><u></u> <u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal"><u></u> <u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">Cheers,<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">Joachim<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal"><u></u> <u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal"><u></u> <u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">-- <u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">Joachim Breitner<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">  <a href="mailto:mail@joachim-breitner.de" target="_blank">mail@joachim-breitner.de</a><u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">  <a href="https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.joachim-breitner.de%2F&data=04%7C01%7Csimonpj%40microsoft.com%7C70050d899124429d0d5a08d897c862a2%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C1%7C637426234195063362%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=kMw%2BvlOxw4ketBttUdHI1zbAL1SyUFduoR7ac54uLrE%3D&reserved=0" target="_blank">http://www.joachim-breitner.de/</a><u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal"><u></u> <u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal"><u></u> <u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">_______________________________________________<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal">ghc-steering-committee mailing list<u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal"><a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a><u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal"><a href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail.haskell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc-steering-committee&data=04%7C01%7Csimonpj%40microsoft.com%7C70050d899124429d0d5a08d897c862a2%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C1%7C637426234195073315%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=zlRcj7FjskXnYJDMtX5Wj8Ognw0mPSR1PVG0XK4RNQ4%3D&reserved=0" target="_blank">https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee</a><u></u><u></u></p>
</blockquote>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal"><u></u> <u></u></p>
</blockquote>
<p class="MsoNormal">_______________________________________________<br>
ghc-steering-committee mailing list<br>
<a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a><br>
<a href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail.haskell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc-steering-committee&data=04%7C01%7Csimonpj%40microsoft.com%7C70050d899124429d0d5a08d897c862a2%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C1%7C637426234195073315%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=zlRcj7FjskXnYJDMtX5Wj8Ognw0mPSR1PVG0XK4RNQ4%3D&reserved=0" target="_blank">https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee</a><u></u><u></u></p>
</div>
</blockquote>
</div>
</div>
</div>
<p class="MsoNormal">_______________________________________________<br>
ghc-steering-committee mailing list<br>
<a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a><br>
<a href="https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail.haskell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fghc-steering-committee&data=04%7C01%7Csimonpj%40microsoft.com%7C70050d899124429d0d5a08d897c862a2%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C1%7C637426234195083273%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=zxJsZFQYUe4Yu5bjjPfZKC3NQUmrVcEuU7DjV7lhe0g%3D&reserved=0" target="_blank">https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee</a><u></u><u></u></p>
</div>
</blockquote>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</div>

_______________________________________________<br>
ghc-steering-committee mailing list<br>
<a href="mailto:ghc-steering-committee@haskell.org" target="_blank">ghc-steering-committee@haskell.org</a><br>
<a href="https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee" rel="noreferrer" target="_blank">https://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-steering-committee</a><br>
</blockquote></div>

        </blockquote>
    </div>
</div>
    
</body></html>