
A natural reference would be the darcs repository
http://darcs.haskell.org/packages/base/
or its git mirror
http://darcs.haskell.org/packages/base.git
which I used because getting it is much faster.
Using 'git blame Control/Applicative.hs' I figured out that the instance
was added in this commit:
commit 8abb469bd2210d78da74b334a0f4397be5ac37f6
Author: Ross Paterson
Hi,
I have a program that makes use of the applicative instance for Either String. I used to define these instances locally, but at some point, they became part of Control.Applicative. I have limited the dependencies to 'base >= 4', but apparently, some version 4s of base include this instance, some do not, and it causes problems for people trying to compile the program.
Is there any information, or otherwise accessible source specifying exactly when this was changed, so that I can have more precise dependencies? And is there a simple way to handle this conditionally, either within cabal, or using CPP?
-- Roman I. Cheplyaka :: http://ro-che.info/