Different package authors have different policies, but if the use of a few #ifdefs allows compatibility with more ghc versions, I think most folks would consider that a win. <span></span><br><br>On Thursday, August 29, 2013, Jan Stolarek  wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I&#39;m still not sure how to handle libraries that I modified with my primops change (#6135): primitive and array. There is some discussion on the core libraries commitee list and it seems that I&#39;ll have to further modify primops, and thus primitive and array, before 7.8 is released. Should I submit my patches to maintainers of these two libraries? Also, in order to make updated versions of the libraries compatible with older versions of GHC I would need to add some #ifdef pragmas. The question is whether we and package maintainers want that compatibility or should we expect that newly released versions of primitive and array will require at least 7.8 to run?<br>

<br>
Janek<br>
<br>
----- Oryginalna wiadomość -----<br>
Od: &quot;shelarcy&quot; &lt;<a href="javascript:;" onclick="_e(event, &#39;cvml&#39;, &#39;shelarcy@gmail.com&#39;)">shelarcy@gmail.com</a>&gt;<br>
Do: &quot;Herbert Valerio Riedel&quot; &lt;<a href="javascript:;" onclick="_e(event, &#39;cvml&#39;, &#39;hvr@gnu.org&#39;)">hvr@gnu.org</a>&gt;<br>
DW: <a href="javascript:;" onclick="_e(event, &#39;cvml&#39;, &#39;ghc-devs@haskell.org&#39;)">ghc-devs@haskell.org</a><br>
Wysłane: czwartek, 29 sierpień 2013 12:24:55<br>
Temat: Re: Current state of ghc boot lib versions vs. hackage<br>
<br>
Hello Herbert,<br>
<br>
I think that current GHC HEAD&#39;s primitive and vector are undesirable version.<br>
<br>
Because:<br>
<br>
   1. GHC HEAD&#39;s primitive and vector are older than latest released version. (You already pointed out that.)<br>
   2. But ... GHC HEAD&#39;s primitive and vector have some changes from older released version (to build with GHC HEAD).<br>
   3. primitive HEAD and vector HEAD has some changes from latest release. These are not same as above GHC HEAD&#39;s changes.<br>
   4. We can&#39;t merge simd branch&#39;s primitive and vector changes before merging primive HEAD and vector HEAD&#39; changes. (Becuase simd branch&#39;s primitive and vector depend on primitive HEAD and vector HEAD&#39;s changes.)<br>

<br>
By above reasons, I think that GHC HEAD should merge primitive HEAD and vector HEAD&#39;s changes.<br>
<br>
<br>
Best Regards,<br>
<br>
<br>
On Wed, 28 Aug 2013 00:56:08 +0900, Herbert Valerio Riedel &lt;<a>hvr@gnu.org</a>&gt; wrote:<br>
<br>
&gt;<br>
&gt; I&#39;ve compared what versions current GHC HEAD uses w/ vs. what&#39;s<br>
&gt; currently available on Hackage (see below);<br>
&gt;<br>
&gt; So currently, the following packages have newer versions available on<br>
&gt; hackage than are used in GHC HEAD:<br>
&gt;<br>
&gt;  - binary<br>
&gt;  - containers<br>
&gt;  - primitive<br>
&gt;  - time<br>
&gt;  - vector<br>
&gt;<br>
&gt; In order to clarify a point that has been an issue in the past:<br>
&gt;<br>
&gt; Can it be assumed that the GHC 7.8 feature-freeze scheduled for 14 Sept<br>
&gt; 2013[1] is also the library version freeze deadline, by which upstream<br>
&gt; package authors shall submit new package versions they want to ship as<br>
&gt; GHC boot libs w/ GHC 7.8.1? (and thus should be given an &quot;heads-up&quot; asap)<br>
&gt;<br>
&gt;<br>
&gt; ------------------------------------------------------------<br>
&gt; package                        hackage       GHC HEAD<br>
&gt; ------------------------------------------------------------<br>
&gt;  Cabal                         1.18.0    ==  1.18.0<br>
&gt;  array                         0.4.0.1    &lt;  0.4.0.2<br>
&gt;  base                          4.6.0.1    &lt;  4.7.0.0<br>
&gt;  bin-package-db                0.0.0.0   ==  0.0.0.0<br>
&gt;  binary                        0.7.1.0    &gt;  0.7.0.0<br>
&gt;  bytestring                    0.10.2.0   &lt;  0.10.3.0<br>
&gt;  containers                    0.5.2.1    &gt;  0.5.0.0<br>
&gt;  deepseq                       1.3.0.1    &lt;  1.3.0.2<br>
&gt;  directory                     1.2.0.1   ==  1.2.0.1<br>
&gt;  dph-base                      0.7.0.1    &lt;  0.8.0.1<br>
&gt; (dph-lifted-base)              0.7.0.1    &lt;  0.8.0.1<br>
&gt; (dph-lifted-boxed)             -             0.8.0.1<br>
&gt; (dph-lifted-copy)              0.7.0.1    &lt;  0.8.0.1<br>
&gt; (dph-lifted-vseg)              0.7.0.1    &lt;  0.8.0.1<br>
&gt; (dph-prim-interface)           0.7.0.1    &lt;  0.8.0.1<br>
&gt; (dph-prim-par)                 0.7.0.1    &lt;  0.8.0.1<br>
&gt; (dph-prim-seq)                 0.7.0.1    &lt;  0.8.0.1<br>
&gt;  filepath                      1.3.0.1    &lt;  1.3.0.2<br>
&gt; (ghc)                          7.6.3      &lt;  7.7.20130826<br>
&gt;  ghc-prim                      0.3.0.0    &lt;  0.3.1.0<br>
&gt;  haskeline                     0.7.0.3    &lt;  0.7.0.4<br>
&gt; (haskell2010)     </blockquote>