
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 deserved". 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.