[Haskell-cafe] MRP, 3-year-support-window, and the non-requirement of CPP

Andrey Chudnov achudnov at gmail.com
Tue Oct 6 21:52:59 UTC 2015

Herbert, unfortunately your logic would break if there is another 
invasive library change somewhere between 7.10 and 8.2 as that would 
require introducing a whole another set of #ifdef's. I've been using GHC 
since 6.2. Since then new versions of GHC have been breaking builds of 
foundational packages every 1-2 releases. I'm actually all for decisive 
and unapologetic language evolution, but there should be a safety net so 
there's less risk of breakage. And, the main sentiment in the discussion 
(which, I admit, I have followed very loosely) seems to be that #ifdef's 
are a poor choice for such a net.

So, forgive me if that has been discussed, but what has happened to the 
`haskell2010` package that is supposed to provide a compatibility layer 
for the standard library? Are people using it? Why hasn't it been 
updated since March 2014? Is it really impossible to provide a legacy 
Haskell2010 base library compatibility layer with AMP in play?

Perhaps it's my ignorance speaking, but I really think if packages like 
`haskell2010` and `haskell98` were actively maintained and used, we 
wouldn't have issues like that. Then you could say: "if you depend on 
the GHC `base` package directly, your portability troubles are well 

On 10/06/2015 03:10 AM, Herbert Valerio Riedel wrote:
> So when GHC 8.2 is released, your support-window requires you to support
> GHC 7.10 and GHC 8.0 in addition to GHC 8.2.
> At this point you'll be happy that you can start dropping those #ifdefs
> you added for GHC 7.10 in your code in order to adapt to FTP & AMP.

More information about the Haskell-Cafe mailing list