On Wed, 2009-05-13 at 12:01 +0100, Neil Brown wrote: > Sittampalam, Ganesh wrote: > > We've discussed replacing it with transformers+monads-fd+an mtl > > compatiblity layer on librar...@. Ross and I plan to propose doing this > > for the second release of the platform - it's not fair to disrupt the > > first release at this stage. > > > > transformers+monads-fd is quite a small evolution over mtl - it factors > > out the fundeps into a separate package, tightens up some of the class > > constraints, and makes State = StateT Identity etc rather than a > > separate type. Even this breaks a few packages, but doing anything more > > substantial would be quite disruptive. That's not to say that we > > shouldn't do it, though. > > For those of us wishing to target applications to the Haskell platform > (e.g. our software works on Haskell Platform 2009.2, 2009.8, etc) will > there be an easy way to determine which Haskell platform is currently > installed so that we can accommodate any such incompatible changes? > E.g. if Haskell platform = 2009.2 then use libraries mtl, parsec and > #define HP_VERSION 200902, if Haskell platform = 2009.8 then use > libraries transformers+monads-fd, parsec-compatibility, and #define > HP_VERSION 200908.
There are already cpp macros to enable to determine if your package is being compiled using one library or another and to do conditional compilation on the version. There is no additional mechanism planned for the platform as a whole (because there is nothing to enforce that an end user picks a set of dependencies that is consistent with a platform release). Duncan _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe