<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin-top:6.0pt;
        margin-right:0cm;
        margin-bottom:6.0pt;
        margin-left:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.Code, li.Code, div.Code
        {mso-style-name:Code;
        margin-top:6.0pt;
        margin-right:0cm;
        margin-bottom:6.0pt;
        margin-left:36.0pt;
        font-size:10.0pt;
        font-family:"Courier New";
        mso-fareast-language:EN-US;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle19
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-GB" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Cherished friends<o:p></o:p></p>
<p class="MsoNormal">Today is my sixtieth birthday.<o:p></o:p></p>
<p class="MsoNormal">It is just over forty years since Phil and I called in at Yale on my way to FPCA, and
<a href="https://www.microsoft.com/en-us/research/publication/a-history-of-haskell-being-lazy-with-class/">
floated the idea of Haskell with Paul Hudak</a>.  (It wasn’t called Haskell then, of course.)   Rather a lot of water has flowed under the bridge since then.  GHC’s bug tracker is up to 14,683 tickets;  I have read every one of them.<o:p></o:p></p>
<p class="MsoNormal">But the best thing is Haskell’s rich community of smart, motivated, passionate, and friendly colleagues.  There was a time when I knew every Haskell programmer on the planet, but we are far, far beyond that point.  Now it’s beyond me even
 to keep up with the huge wave of elegant and creative ideas, tools, libraries, and blog posts that you generate.   (Kudos to Taylor – and doubtless other colleagues -- for the
<a href="https://haskellweekly.news/">Haskell Weekly News</a>, which I love.)   But despite its size, it’s a community that is still characterised by a love of elegance, and a desire to distil the essence of an idea and encapsulate it in an abstraction, all
 tempered with respect and tolerance. We don’t always live up to these ideals, but by and large we do.<o:p></o:p></p>
<p class="MsoNormal">Thank you all.  Onward and upward!<o:p></o:p></p>
<p class="MsoNormal">Simon <o:p></o:p></p>
<p class="MsoNormal">PS: as birthday recreation I’m working on <a href="https://ghc.haskell.org/trac/ghc/wiki/QuantifiedContexts">
https://ghc.haskell.org/trac/ghc/wiki/QuantifiedContexts</a><o:p></o:p></p>
</div>
</body>
</html>