<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:0cm;
        margin-bottom:.0001pt;
        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.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0cm;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:36.0pt;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        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">Hello everyone,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">This is a quick update on the current state of Hadrian, the new build system for GHC (<a href="https://github.com/snowleopard/hadrian">https://github.com/snowleopard/hadrian</a>).<o:p></o:p></p>
<p class="MsoNormal">                                                              
<o:p></o:p></p>
<p class="MsoNormal">Current status<o:p></o:p></p>
<p class="MsoNormal">============<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">We’ve been slowly but steadily fixing issues, and are getting close to the stage where GHC-devs can start using Hadrian in their everyday development, perhaps at first alongside Make as a fallback option.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Here are key remaining issues and what we plan to do about them:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">* Build rules for distribution and installation are not fully implemented. I don't understand very well the requirements for these build rules and plan to spend some time with Simon Marlow to complete the implementation in March. If anyone
 can do this earlier, feel free to volunteer, I’m happy to help.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">* Ability to build stage1 GHC only. This is a quick fix on Hadrian’s side but is currently blocked by Shake refactoring. Neil Mitchell is working on this.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">* Hadrian can’t build GHC in the dynamic way. Jose Calderon has bravely taken up the challenge to fix this oldest surviving ticket (#4).<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">There are a lot of other minor issues and continuous refactoring, but I think the above three are most important. If I missed anything, please let me know.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">How to help<o:p></o:p></p>
<p class="MsoNormal">==========<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">1) One of the simplest way to help the project is to try Hadrian and report any issues you encounter. To try it, clone it into your GHC tree and run it using “hadrian/build.sh” or “hadrian/build.bat”, adding “-j --flavour=quickest” to speed
 things up. See the README for more details:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><a href="https://github.com/snowleopard/hadrian">https://github.com/snowleopard/hadrian</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">2) Whenever you are doing any changes in the GHC that affect the build system, please CC me (@snowleopard) to the corresponding Phab differential. This can save me a lot of time when Hadrian breaks because of changes in GHC.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">3) Email me if you have time to write some code or docs for Hadrian – I’ll find a good place to start with.
<o:p></o:p></p>
<p class="MsoNormal">                                                                                     
<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-GB">Cheers,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-GB">Andrey<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>