Haskell Platform call for consensus: add transformers and revise the mtl package to depend on it

Johan Tibell johan.tibell at gmail.com
Thu Nov 4 12:39:29 EDT 2010

On Thu, Nov 4, 2010 at 1:23 PM, Ross Paterson <ross at soi.city.ac.uk> wrote:
> Currently the following 32 library packages directly depending on mtl
> are broken by the changes (including reasons and number of packages
> that directly or indirectly depend on these):
> applicative-extras-0.1.6              Applicative instance (9 clients)
> blogination-0.5                       Applicative instance (no clients)
> category-extras-0.53.5                Functor constraint   (15 clients)
> csound-expression-0.0                 base monad members   (no clients)
> derive-                        Applicative instance (13 clients)
> encoding-0.6.3                        base monad members   (15 clients)
> FileManip-                     base monad members   (13 clients)
> FileManipCompat-0.15                  base monad members   (7 clients)
> HaLeX-1.1.1                           base monad members   (no clients)
> happstack-server-              Functor constraint   (32 clients)
> hashed-storage-0.5.3                  Functor constraint   (6 clients)
> HaskellNet-0.2.3                      base monad members   (no clients)
> hmk-0.9.7                             Applicative instance (1 clients)
> hssqlppp-0.2.0                        Error instance       (1 clients)
> jmacro-0.3.2                          base monad instance  (no clients)
> kibro-0.4.3                           Functor constraint   (11 clients)
> llvm-ht-                       base monad members   (2 clients)
> monad-param-0.0.2                     Functor constraint   (no clients)
> MonadRandom-0.1.5                     Functor constraint   (13 clients)
> nntp-0.0.3                            Functor constraint   (no clients)
> OpenCLRaw-1.0.1001                    base monad members   (no clients)
> open-witness-0.1.1                    base monad members   (no clients)
> plot-                          base monad members   (1 clients)
> random-fu-                     base monad instance  (3 clients)
> redHandlers-0.1                       Functor constraint   (1 clients)
> she-0.1                               Applicative instance (no clients)
> swish-0.2.1                           base monad members   (no clients)
> tls-0.2                               Functor constraint   (6 clients)
> Twofish-0.2                           base monad instance  (no clients)
> xmonad-contrib-bluetilebranch- base monad members   (1 clients)
> yhccore-0.9.1                         base monad instance  (3 clients)

So all these libraries are missing an upper bound on their mtl dependencies?

> A further concern is that we now have 138 packages whose dependencies
> exclude mtl-2 and 8 (and rising) whose dependencies require it.
> That will prevent an increasing number of packages from building.

Is that really the case? Libraries can build against older versions of
another library? This gives library authors time to upgrade their
dependencies and fix compilation errors. Problems should only show up
when libraries don't follow the PVP.

We need a volunteer to implement PVP checking in Cabal.


More information about the Libraries mailing list