<br><br><div class="gmail_quote">On Fri, Apr 23, 2010 at 4:49 PM, Don Stewart <span dir="ltr">&lt;<a href="mailto:dons@galois.com">dons@galois.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
ivan.miljenovic:<br>
<div class="im">&gt; Don Stewart &lt;<a href="mailto:dons@galois.com">dons@galois.com</a>&gt; writes:<br>
&gt;<br>
&gt; &gt; I&#39;ll just quickly mention one factor that contributes:<br>
&gt; &gt;<br>
&gt; &gt;     * In 2.5 years we&#39;ve gone from 10 libraries on Hackage to 2023 (literally!)<br>
&gt; &gt;<br>
&gt; &gt; That is a massive API to try to manage, hence the continuing move to<br>
&gt; &gt; focus on automated QA on Hackage, and automated tools -- no one wants<br>
&gt; &gt; to have to resolve those dependencies by hand.<br>
&gt;<br>
&gt; I think the &quot;release early, release often&quot; slogan is an affect on this<br>
&gt; as well: we encourage library writers to release once they have<br>
&gt; something that _works_ rather than waiting until it is perfect.  The<br>
&gt; fact that we encourage smaller, more modular libraries over large<br>
&gt; monolithic ones also affects this.<br>
&gt;<br>
&gt; When considering Haskell vs Python, I wonder if the &quot;stability&quot; of<br>
&gt; Python&#39;s libraries is due to their relative maturity in that the<br>
&gt; &quot;fundamental&quot; libraries have had time to settle down.<br>
&gt;<br>
<br>
</div>Note also that the Python core libraries model is what we are now just<br>
starting to do via the Haskell Platform. We&#39;re far more immature in<br>
that respect -- our stable, core, blessed library suite only just had<br>
its 2nd release.<br></blockquote><div><br>Others on this thread have suggested continual integration build systems for *all* of hackage as a way to help with stability.  I would argue that CI comes at a high human cost in terms of establishing and maintaining a proper build environment.  It&#39;s a non-trivial commitment.<br>
<br> This mention of the Haskell Platform makes me think:  What if we reduced the scope from all of Hackage to just the Haskell Platform?<br><br>I bet that&#39;s the sweet spot in terms of effort in and value produced.  The HP is the set of packages that we want to endorse and promote as stable.  Hackage on the other hand, is a huge repository of everything that exists.<br>
<br>I think this also helps naturally create the unstable/testing/stable distinction of packages that was suggested in this thread as well.  We can think of Hackage as unstable, the next unreleased version of the platform as testing, and the most recent stable platform release as stable.<br>
<br>Hmm...But who would be willing to take on the hard, tedious, and time consuming work of maintaining the CI build system?  I think for this build system effort to really take off a group of a few deadicated volunteers would be necessary.<br>
<br>Jason<br></div></div>