
On 11/11/2011 15:06, Bas van Dijk wrote:
On 11 November 2011 15:09, Henning Thielemann
wrote: On Fri, 11 Nov 2011, Bas van Dijk wrote:
I forgot the reason why we need Control.Monad.Instances which exports orphaned Functor and Monad instances for ((->) r), ((,) a) and (Either e):
Compatibility with Haskell 98's Prelude?
Thanks I understand.
What exactly is the future plan of the haskell98 and haskell2010 packages? I understand that the Haskell' Process[1] now only deals with the Haskell language and that the evolution of the core libraries is now the responsibility of the Library Submission Process[2]. Does this mean we stop making haskellYYYY packages?
I don't think that's true. Both Haskell 98 and Haskell 2010 specified a number of library modules, which are implemented by the packages haskell98 and haskell2010 respectively. If we want to support those standards, we have to support their libraries too.
I think that would be a good thing. Since these packages block innovation in certain parts of base (for example: getting rid of some orphaned instances in Control.Monad.Instances or designing a new monad hierarchy).
They don't necessarily block progress in the base package, they just mean that more code has to be copied into haskell98/haskell2010 to maintain the original API. I'm not sure to what extent we want to do this. So far we've only had to copy a few individual functions and fix export lists. The change to Num recently meant that we have diverged from Haskell 98 and Haskell 2010 in a fairly fundamental way, and to recover compatibility we would have to copy a lot of code into haskell98 and haskell2010. On the other hand the change doesn't break very much code, so we could let it slip (I think that's what we'll do). It would be a shame to drop compatibility for Haskell 2010 only two years after it was released. I don't have a good feeling for how important this is though - certainly not much code on Hackage is written in pure Haskell 98 or Haskell 2010, but what about course materials and textbooks? Cheers, Simon