<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">For a while we've been doing one major
      release per year, and 1-2 minor releases.  We have a big sign at
      the top of the download page directing people to the platform.  We
      arrived here after various discussions in the past - there were
      always a group of people that wanted stability, and a roughly
      equally vocal group of people who wanted the latest bits.  So we
      settled on one API-breaking change per year as a compromise.<br>
      <br>
      Since then, the number of packages has ballooned, and there's a
      new factor in the equation: the cost to the ecosystem of an
      API-breaking release of GHC.  All that updating of packages
      collectively costs the community a lot of time, for little
      benefit.  Lots of package updates contributes to Cabal Hell.  The
      package updates need to happen before the platform picks up the
      GHC release, so that when it goes into the platform, the packages
      are ready.<br>
      <br>
      So I think, if anything, there's pressure to have fewer major
      releases of GHC.  However, we're doing the opposite: 7.0 to 7.2
      was 10 months, 7.2 to 7.4 was 6 months, 7.4 to 7.6 was 7 months. 
      We're getting too efficient at making releases!<br>
      <br>
      My feeling is that this pace is too fast.  You might argue that
      with better tools and infrastructure the community wouldn't have
      so much work to do for each release, and I wholeheartedly agree.
      Perhaps if we stop releasing GHC so frequently they'll have time
      to work on it :)  Releasing early and often is great, but at the
      moment it's having negative effects on the ecosystem (arguably due
      to deficiencies in the infrastructure).<br>
      <br>
      Does this strike a chord with anyone, or have I got the wrong
      impression and everyone is happy with the pace?<br>
      <br>
      Cheers,<br>
          Simon<br>
      <br>
      On 07/02/13 18:15, Simon Peyton-Jones wrote:<br>
    </div>
    <blockquote
cite="mid:59543203684B2244980D7E4057D5FBC14772D1A8@DB3EX14MBXC312.europe.corp.microsoft.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta name="Generator" content="Microsoft Word 14 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        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:12.0pt;
        font-family:"Times New Roman","serif";}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Verdana","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        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;}
/* List Definitions */
@list l0
        {mso-list-id:289897933;
        mso-list-type:hybrid;
        mso-list-template-ids:-995077858 134807553 134807555 134807557 134807553 134807555 134807557 134807553 134807555 134807557;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Symbol;}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:"Courier New";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:"Courier New";}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:"Courier New";}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        font-family:Wingdings;}
@list l1
        {mso-list-id:1225992827;
        mso-list-template-ids:-420553648;}
@list l1:level1
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:36.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l1:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:72.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:"Courier New";
        mso-bidi-font-family:"Times New Roman";}
@list l1:level3
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:108.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l1:level4
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:144.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l1:level5
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:180.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l1:level6
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:216.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l1:level7
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:252.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l1:level8
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:288.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l1:level9
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:324.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
--></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]-->
      <div class="WordSection1">
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;color:#1F497D">It’s
            fairly simple in my mind. There are two “channels” (if I
            understand Mark’s terminology right):<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoListParagraph"
          style="text-indent:-18.0pt;mso-list:l0 level1 lfo2"><!--[if !supportLists]--><span
            style="font-size:11.0pt;font-family:Symbol;color:#1F497D"><span
              style="mso-list:Ignore">·<span style="font:7.0pt
                &quot;Times New Roman&quot;">        
              </span></span></span><!--[endif]--><span
style="font-size:11.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;color:#1F497D">Haskell
            Platform:<o:p></o:p></span></p>
        <p class="MsoListParagraph"
          style="margin-left:72.0pt;text-indent:-18.0pt;mso-list:l0
          level2 lfo2">
          <!--[if !supportLists]--><span
            style="font-size:11.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D"><span style="mso-list:Ignore">o<span
                style="font:7.0pt &quot;Times New Roman&quot;">  
              </span></span></span><!--[endif]--><span
style="font-size:11.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;color:#1F497D">A
            stable development environment, lots of libraries known to
            work<o:p></o:p></span></p>
        <p class="MsoListParagraph"
          style="margin-left:72.0pt;text-indent:-18.0pt;mso-list:l0
          level2 lfo2">
          <!--[if !supportLists]--><span
            style="font-size:11.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D"><span style="mso-list:Ignore">o<span
                style="font:7.0pt &quot;Times New Roman&quot;">  
              </span></span></span><!--[endif]--><span
style="font-size:11.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;color:#1F497D">Newcomers,
            and people who value stability, should use the Haskell
            Platform<o:p></o:p></span></p>
        <p class="MsoListParagraph"
          style="margin-left:72.0pt;text-indent:-18.0pt;mso-list:l0
          level2 lfo2">
          <!--[if !supportLists]--><span
            style="font-size:11.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D"><span style="mso-list:Ignore">o<span
                style="font:7.0pt &quot;Times New Roman&quot;">  
              </span></span></span><!--[endif]--><span
style="font-size:11.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;color:#1F497D">HP
            comes with a particular version of GHC, probably not the
            hottest new one, but that doesn’t matter.  It works.<o:p></o:p></span></p>
        <p class="MsoListParagraph" style="margin-left:72.0pt"><span
style="font-size:11.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoListParagraph"
          style="text-indent:-18.0pt;mso-list:l0 level1 lfo2"><!--[if !supportLists]--><span
            style="font-size:11.0pt;font-family:Symbol;color:#1F497D"><span
              style="mso-list:Ignore">·<span style="font:7.0pt
                &quot;Times New Roman&quot;">        
              </span></span></span><!--[endif]--><span
style="font-size:11.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;color:#1F497D">GHC
            home page downloads:<o:p></o:p></span></p>
        <p class="MsoListParagraph"
          style="margin-left:72.0pt;text-indent:-18.0pt;mso-list:l0
          level2 lfo2">
          <!--[if !supportLists]--><span
            style="font-size:11.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D"><span style="mso-list:Ignore">o<span
                style="font:7.0pt &quot;Times New Roman&quot;">  
              </span></span></span><!--[endif]--><span
style="font-size:11.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;color:#1F497D">More
            features but not so stable<o:p></o:p></span></p>
        <p class="MsoListParagraph"
          style="margin-left:72.0pt;text-indent:-18.0pt;mso-list:l0
          level2 lfo2">
          <!--[if !supportLists]--><span
            style="font-size:11.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D"><span style="mso-list:Ignore">o<span
                style="font:7.0pt &quot;Times New Roman&quot;">  
              </span></span></span><!--[endif]--><span
style="font-size:11.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;color:#1F497D">Libraries
            not guaranteed to work<o:p></o:p></span></p>
        <p class="MsoListParagraph"
          style="margin-left:72.0pt;text-indent:-18.0pt;mso-list:l0
          level2 lfo2">
          <!--[if !supportLists]--><span
            style="font-size:11.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D"><span style="mso-list:Ignore">o<span
                style="font:7.0pt &quot;Times New Roman&quot;">  
              </span></span></span><!--[endif]--><span
style="font-size:11.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;color:#1F497D">Worth
            releasing, though, as a forcing function to fix bugs, and as
            a checkpoint for people to test, so that by the time the HP
            adopts a particular version it is reasonably solid.<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;color:#1F497D">So
            we already have the two channels Mark asks for, don’t we? 
            One is called the Haskell Platform and one is called the GHC
            home page. 
            <o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;color:#1F497D"><br>
            That leaves a PR issue: we really <i>don’t</i> want
            newcomers or Joe Users wanting the “new shiny”. They want
            the Haskell Platform, and as Mark says those users should
            not pay the slightest attention until it appears in the
            Haskell Platform.<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;color:#1F497D">So
            perhaps we principally need a way to point people away from
            GHC and towards HP?  eg We could prominently say at every
            download point “Stop!  Are you sure you want this?  You
            might be better off with the Haskell Platform!  Here’s
            why...”.<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;color:#1F497D">Have
            I understood aright?  If so, how could we achieve the right
            social dynamics? 
            <o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;color:#1F497D">Our
            goal is to let people who value stability get stability,
            while the hot-shots race along in a different channel and
            pay the price of flat tires etc.<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;color:#1F497D">PS:
            absolutely right to use 7.6.2 for the next HP.  Don’t even
            think about 7.8.<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;color:#1F497D">Simon<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:&quot;Verdana&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p> </o:p></span></p>
        <div style="border:none;border-left:solid blue 1.5pt;padding:0cm
          0cm 0cm 4.0pt">
          <div>
            <div style="border:none;border-top:solid #B5C4DF
              1.0pt;padding:3.0pt 0cm 0cm 0cm">
              <p class="MsoNormal"><b><span
style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;"
                    lang="EN-US">From:</span></b><span
style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;"
                  lang="EN-US"> Mark Lentczner
                  [<a class="moz-txt-link-freetext" href="mailto:mark.lentczner@gmail.com">mailto:mark.lentczner@gmail.com</a>]
                  <br>
                  <b>Sent:</b> 07 February 2013 17:43<br>
                  <b>To:</b> Simon Peyton-Jones<br>
                  <b>Cc:</b> <a class="moz-txt-link-abbreviated" href="mailto:andreas.voellmy@gmail.com">andreas.voellmy@gmail.com</a>; Carter
                  Schonwald; GHC users; Simon Marlow; parallel-haskell;
                  <a class="moz-txt-link-abbreviated" href="mailto:kostirya@gmail.com">kostirya@gmail.com</a>; Edsko de Vries;
                  <a class="moz-txt-link-abbreviated" href="mailto:ghc-devs@haskell.org">ghc-devs@haskell.org</a><br>
                  <b>Subject:</b> Re: GHC 7.8 release?<o:p></o:p></span></p>
            </div>
          </div>
          <p class="MsoNormal"><o:p> </o:p></p>
          <div>
            <p class="MsoNormal">I'd say the window for 7.8 in the
              platform is about closed. If 7.8 were to be release in the
              next two weeks that would be just about the least amount
              of time I'd want to see for libraries in the platform to
              get all stable with the GHC version. And we'd also be
              counting on the GHC team to be quickly responding to bugs
              so that there could be a point release of 7.8 mid-April.
              Historically, none of that seems likely.<o:p></o:p></p>
            <div>
              <p class="MsoNormal"><o:p> </o:p></p>
            </div>
            <div>
              <p class="MsoNormal">So my current trajectory is to base
                HP 2013.2.0.0 on GHC 7.6.2.<o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal"><o:p> </o:p></p>
            </div>
            <div>
              <p class="MsoNormal">Since 7.8 will seems like it will be
                released before May, we will be faced again with the bad
                public relations issue: Everyone will want the new shiny
                and be confused as to why the platform is such a
                laggard. We'll see four reactions:<o:p></o:p></p>
            </div>
            <div>
              <ul type="disc">
                <li class="MsoNormal"
                  style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l1
                  level1 lfo1">
                  New comers who are starting out and figure they should
                  use the latest... Many will try to use 7.8, half the
                  libraries on hackage won't work, things will be wonky,
                  and they'll have a poor experience.<o:p></o:p></li>
                <li class="MsoNormal"
                  style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l1
                  level1 lfo1">
                  People doing production / project work will stay on
                  7.6 and ignore 7.8 for a few months.<o:p></o:p></li>
                <li class="MsoNormal"
                  style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l1
                  level1 lfo1">
                  The small group of people exploring the frontiers will
                  know how to get things set up and be happy.<o:p></o:p></li>
                <li class="MsoNormal"
                  style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l1
                  level1 lfo1">
                  Eventually library authors will get around to making
                  sure their stuff will work with it.<o:p></o:p></li>
              </ul>
              <p class="MsoNormal">I wish GHC would radically change
                it's release process. Things like 7.8 shouldn't be
                release as "7.8". That sounds major and stable. The web
                site will have 7.8 at the top. The warning to use
                the platform will fall flat because it makes the
                platform look out of date. Really, "7.8" should be in a
                different release channel, not on the front page. It
                should bake in that channel for six months - where only
                the third group of people will use it, until it is
                getting close to merge into main, at which point the
                fourth group will start to use it, so that the day it
                hits main, all the libraries just work. Ideally, the
                first two groups of people will not pay the slightest
                attention to it until it is further baked.<o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal"><o:p> </o:p></p>
            </div>
            <div>
              <p class="MsoNormal">While we achievements of the GHC team
                are great, less than half of those 7.8 features seem
                interesting from the viewpoint of the aims of
                the platform. I don't think adding syntactic or
                type-level features are really all that important for
                Haskell at this juncture. And while I do like to see
                improvements in generated code and run-time performance,
                I think even those are less important than
                making crucial ecosystem improvements to things like
                package management, cross-compilation, and libraries.<o:p></o:p></p>
            </div>
            <div>
              <p class="MsoNormal"><o:p> </o:p></p>
            </div>
            <div>
              <p class="MsoNormal">- Mark<o:p></o:p></p>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
  </body>
</html>