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